zoukankan      html  css  js  c++  java
  • Python网络爬虫

      爬虫需要循环执行三个操作:解析网页、获取保存信息、遍历网站URL。

    一、解析网页获取信息

      Python有很多解析网页的库,使用简单、功能强大。

    1、urllib和正则

     urlib文档

    2、resquests和lxml

    requests文档

    import requests
    response = requests.get(url)
    content = requests.get(url).content
    print "response headers:", response.headers
    print "content:", content

    乱码通常是由于字符编码不同导致的。python3的字符串可以使用encode()函数进行编码转换。

    requests会自动解码获取到的网页。对出现乱码的,我们可以通过encoding属性更改解码方式。

    r = requests.get("http://www.dytt8.net/")
    r.encoding = None

    3、BeautifulSoup

     

    二、遍历网站URL

    记录浏览过的网页

    三、登录

    header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36',
    'Host': 'www.zhihu.com',
    'Referer': 'http://www.zhihu.com/'
    }

    四、Scrapy框架

    写过简单爬虫之后,再来研究scrapy,才知道scarpy到底方便在哪里。

    五、爬虫进阶

    反爬虫(验证码、代理池)

    robots.txt是一种存放于网站根目录下的ASCII编码的文本文件,用来告诉爬虫,哪些内容不应被搜索引擎的爬虫获取,哪些不可以被爬虫获取。有的robots.txt还会限定爬取速度。

    优化(多线程、分布式)

    爬取动态网站、音频、视频

     

     

     

     

     

  • 相关阅读:
    MySQL忘记root密码的找回方法
    MySQL中的备份和恢复
    MySQL中的锁(表锁、行锁)
    设计模式之: 策略模式
    MySQL流程函数
    高效查看MySQL帮助文档的方法
    php动态获取函数参数
    设计模式之: 代理模式
    网站性能优化指标
    设计模式之: 状态模式
  • 原文地址:https://www.cnblogs.com/cnstalker/p/5521687.html
Copyright © 2011-2022 走看看