Python爬虫实战攻略:7个技巧助你快速上手
毕业生必看Python爬虫上手技巧
快速开始使用Python的7个技巧
快速开始使用Python爬虫的7个技巧
1.P
获取方式
发布方式
2.使用代理IP地址
在爬虫开发过程中,IP地址往往此时被屏蔽。
需要使用代理IP;
urllib2包中有一个ProxyHandler类,通过该类可以设置代理来访问网页,如以下代码片段所示:
3.处理cookie
Cookie被一些网站用来识别用户并进行会话跟踪
存储在用户本地终端上的数据(通常是加密的)Python提供
Cookie处理cookie的模块。
cookie模块的主要功能是提供可以存储cookie的对象,以便与cookie一起使用。
urllib2模块
用于访问互联网资源。
代码片段:
关键是CookieJar(),用于管理HTTPcookie值,存储
HTTP请求生成的cookie,并响应传出HTTP请求。
添加cookie对象
。
CookieJar实例垃圾回收后,整个cookie存储在内存中
所有操作不需要单独执行
手动添加cookie:
4.伪装成浏览器
有些网站厌恶爬虫的访问,因此拒绝爬虫的请求。
因此,HTTPError403:
最常出现在使用
urllib2直接访问网站时。
密切注意一些头部。
服务器将检查这些标头。
1.User-Agent将检查此值。
,用于判断这是否是浏览器发起的请求。
2.Content-Type当使用REST接口时,服务器会检查该值
确定如何解析位于HTTPBody中的内容。
这可以通过修改http数据包中的标头来实现。
代码片段如下
5.验证码处理
对于一些简单的验证码,可以指定一个简单的身份。
我们只是做了一些简单的验证码识别,但是一些反人类的验证码,比如12306
,是可以通过编码平台手动编码的。
6.Gzip压缩
您是否遇到过一些网页无论如何转码都会变形的情况?哈哈,这意味着你不知道很多网络服务都有发送的能力压缩数据,可以减少通过网络线路传输的数据量60%以上。
对于XMLWeb服务尤其如此,因为XML数据的压缩率可能非常高。
但一般来说,服务器不会向您发送压缩数据,除非您告诉服务器您可以处理压缩数据。
。
所以需要这样修改代码:
这里是关键:创建一个请求对象,并添加一个accept-encodingheader来告诉服务器您可以接受压缩的gzip数据。
解压缩数据的时间:
7。
这是一个简单的线程池模型
这个程序只是简单的打印了1-10,但是可以看出是同步的。
Python多线程虽然没什么用,但是对于频繁的网络爬虫来说还是可以一定程度上提高效率的。
如何入门Python爬虫
个人感觉,初学者学习Python爬网页时,使用以下4个库就足够了:(第四个库非常难用,实际上在一些特殊的情况下可能无法应对)例))1.打开网站并下载文件:urllib2.websites分析:BeautifulSoup、JQuery熟悉Pyquery3使用不同的查询类型,支持方向、cookies、除其他外。4.使用SeleniumBrowser模拟类用户任务并动态运行js生成的网页这些库都有自己的功能。
它们共同可以完成各种网页的爬行和分析任务。
具体使用方法可以查看他们的官网指南(上面链接)。
这些库的功能需要驱动程序来完成。
如果你看不懂,可以来这里看看解决方案第四步使用了并行编程。
(用串行编程完成第四步会花费更多时间。
)第四步和第五步只有问题,但解决方案还没有发布。
。
。
一旦你学会了这些基础知识,学习Scratch这个强大的浏览器框架就会更加顺利。
这里有中文介绍。
这是我在知乎上的回答。