当前位置:首页 > 编程问答 >

Python爬虫学习有哪些小技巧

提问时间:2020年06月04日 09:35:48问题被 151 网友关注
共 1 个关于“Python爬虫如何学习”精选答案
码小辫
推荐于:2020-06-04
最佳回答

python应用最多的场景还是web快速开发、爬虫、自动化运维:写过简单网站、写过自动发帖脚本、写过收发邮件脚本、写过简单验证码识别脚本。

学习 Python 包并实现基本的爬虫过程

Python中爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,建议你从requests+Xpath 开始,requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。

如果你用过 BeautifulSoup,会发现 Xpath 要省事不少,一层一层检查元素代码的工作,全都省略了。掌握之后,你会发现爬虫的基本套路都差不多,一般的静态网站根本不在话下,小猪、豆瓣、糗事百科、腾讯新闻等基本上都可以上手了。

使用代理IP

开发爬虫过程中经常会遇到IP被封掉的情况,这时就需要用到代理IP;

在urllib2包中有ProxyHandler类,通过此类可以设置代理访问网页,

Cookies处理

cookies是某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密),python提供了cookielib模块用于处理cookies,cookielib模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源.

伪装成浏览器

某些网站反感爬虫的到访,于是对爬虫一律拒绝请求。所以用urllib2直接访问网站经常会出现HTTP Error 403: Forbidden的情况对有些 header 要特别留意,Server 端会针对这些 header 做检查1.User-Agent 有些 Server 或 Proxy 会检查该值,用来判断是否是浏览器发起的 Request2.Content-Type 在使用 REST 接口时,Server 会检查该值,用来确定 HTTP Body 中的内容该怎样解析。

页面解析

对于页面解析最强大的当然是正则表达式。

其次就是解析库了,常用的有两个lxml和BeautifulSoup,对于这两个库,我的评价是,都是HTML/XML的处理库。

Beautifulsoup纯python实现,效率低,但是功能实用,比如能用通过结果搜索获得某个HTML节点的源码;lxmlC语言编码,高效,支持Xpath

验证码的处理

对于一些简单的验证码,可以进行简单的识别。本人也只进行过一些简单的验证码识别。但是有些反人类的验证码,比如12306,可以通过打码平台进行人工打码,当然这是要付费的。

gzip压缩

有没有遇到过某些网页,不论怎么转码都是一团乱码。那说明你还不知道许多web服务具有发送压缩数据的能力,这可以将网络线路上传输的大量数据消减 60% 以上。这尤其适用于 XML web 服务,因为 XML 数据 的压缩率可以很高。但是一般服务器不会为你发送压缩数据,除非你告诉服务器你可以处理压缩数据。

参考资料

  • 精通Python爬虫框架Scrapy出版社:人民邮电出版社 作者:迪米特里奥斯
  • Python3网络爬虫开发实战出版社:人民邮电出版社 作者:崔庆才
  • 精通Python网络爬虫:核心技术、框架与项目实战出版社:机械工业出版社 作者:韦玮
  • 从零开始学Python网络爬虫出版社:机械工业出版社 作者:罗攀
  • Python轻松学:爬虫、游戏与架站出版社:清华大学出版社 作者:王春艳
  • 相关问题

  • Python制作豆瓣图片的爬虫实例代码02-04
  • Python爬虫解析方法和爬虫实现过程总结06-05
  • python构建基础的爬虫知识点总结06-19
  • python爬虫需要学哪些东西01-27
  • 详解python爬虫 urllib模块发起post请求01-28
  • Python爬虫采集遇到403问题怎么办02-16
  • Python3爬虫实现发送天气预报邮件01-14
  • python爬虫BeautifulSoup简单使用03-10
  • python爬虫好学吗02-17
  • Python实现数据可视化监控爬虫状态06-06
  • python识别爬虫的实例方法11-02
  • python爬虫定义01-22
  • Python中的爬虫是什么05-12
  • 关于Python爬虫使用requests发送post请求的一些疑点02-27
  • 怎样使用python 爬虫一键爬取淘宝天猫宝贝页面主图颜色图和详情图01-26
  • 更多答案
    <
    1
    >

    Copyright 2018-2020 www.xz577.com 码农之家

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com

    idea注册码