zoukankan      html  css  js  c++  java
  • python爬虫的基本框架

    1.爬虫的基本流程:

    通过requests库的get方法获得网站的url

    浏览器打开网页源码分析元素节点

    通过BeautifulSoup或者正则表达式提取想要的数据

    储存数据到本地磁盘或者数据库

    2.正式开工啦

    url = “http://www.jianshu.com”

    page = requests.get(url)  #发现返回状态码403,说明有问题出现(除200外,其他的都是有问题的)

    #这个时候查看一下爬虫的robots协议,的确有些问题,解决方案如下:

    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'} 
    获取html页面

    page = requests.get(url, headers = headers)

    demo = page.text

    #记住,有时候有可能出现编码问题

    page.encoding = page.apparent_encoding

    #将获取的内容转换为BeautifulSoup格式,并将html.parser作为解释器(熬一锅汤)

    soup = BeautifulSoup(demo, 'html.parser')

    #以格式化的形式打印html

    print(soup.prettify())       #利于分析元素节点

    #查找所有a标签中class=‘tilte’的语

    titles = soup.find_all('a', 'title') 

    #打印查找到的每一个标签的string和文章链接

    for titile in titles:

      print(title.string)      #打印字符串

      print("http://www.jianshu.com" + title.get('href'))    #利用title的get方法获取连接,可通过dir(titles)查看可用的方法

    #将获取的内容写入本地磁盘

    with open('aa.txt', 'w') as f:

      for title in titles:

        f.write(title.string+' ')

        f.write('http://www.jianshu.com' + title.get('href') + ' ')

  • 相关阅读:
    【javaSE】Exception in thread "main" java.lang.ArrayStoreException: java.lang.Integer
    property
    多继承与super
    GIL全局解释器锁
    深浅拷贝
    生成器
    迭代器
    设置ll命令
    修改Centos中的ll命令(以 K 为单位显示文件大小)
    打包解压缩命令
  • 原文地址:https://www.cnblogs.com/lmt921108/p/8986153.html
Copyright © 2011-2022 走看看