毕业生必看Python爬虫技能。
Python快速入门的七个技巧。
1,基本网页抓取
获取方法
过帐方法
2.使用代理IP
在开发爬虫的过程中,IP经常被屏蔽,所以需要。
代理IP;
urllib 2包中有一个代理处理程序类,通过它可以设置代理。
访问网页,下面的代码片段:
3.饼干加工
一些网站使用Cookies来识别用户和跟踪会话。
Python提供存储在用户本地终端的数据(通常是加密的)。
Cookie lib模块用于处理Cookie,cookie lib模块的主要工作是
它用于提供一个可以存储cookie的对象,以便于与urllib 2模块的合作。
用于访问互联网资源。
代码片段:
关键在于Cookie Jar(),它用于管理HTTP cookie值、存储。
HTTP请求生成的cookie,将cookie添加到传出的HTTP请求中
的对象。整个cookie存储在内存中,并进入Cookie Jar实例
垃圾回收后Cookie也会丢失,所有进程都不需要单独操作。
手动添加cookie:
4.假装成一个浏览器
有些网站不喜欢爬虫的访问,所以都拒绝了对爬虫的请求。所以使用
urllib 2直接访问网站时经常出现HTTP错误403:
禁止的情况。
特别注意一些头,服务器会针对这些头。
做检查:
1.一些服务器或代理会检查这个值来判断。
浏览器是否发起了请求。
2.当使用REST接口时,服务器将检查。
用于确定如何解析HTTP正文中的内容的值。
这可以通过修改http包中的头来实现。代码片段如下。
5、验证码处理
对于一些简单的验证码,可以进行简单的识别。我们只做过一次。
一些简单的验证码,但是一些反人类的验证码,比如12306。
,可以通过编码平台手动编码,当然这是要收费的。
6.gzip压缩
你有没有遇到过一些网页?不管怎么转码,都是乱码。哈哈,那个
说明你不知道很多web服务都有发送压缩数据的能力,可以是
从而将网络线路上传输的大量数据减少60%以上。这尤其适用于
XML web服务,因为XML数据的压缩率可以非常高。
但是一般服务器不会为您发送压缩数据,除非您告诉服务器您可以这样做
来处理压缩数据。
因此,您需要像这样修改代码:
这是关键:创建一个请求对象,添加一个接受-
编码头信息告诉服务器您可以接受gzip压缩数据。
然后是数据的解压缩:
7.多线程并发获取
如果单线程太慢,就需要多线程。下面是一个简单的线程池模板。
这个程序只是简单的打印1-10,但是可以看出是并发的。
Python的多线程虽然是鸡肋,但是对于网络频繁的爬虫来说,难度很大。
,还能在一定程度上提高效率。