当前位置:首页 > python > 正文

零基础学python爬虫

  • python
  • 2024-06-03 23:32:35
  • 8323

⑴毕业生必看Python爬虫上手技巧

使用Python快速启动爬虫的7个技巧

使用Python快速启动爬虫的7个技巧

1.基本网页抓取

get方法

post方法

2.使用代理IP

爬虫开发过程中IP被封。

必须使用代理IP。

urllib2包中有一个ProxyHandler类,通过它可以设置代理访问。

如图在以下代码片段中:网页:

3.Cookie处理

Cookie是一些网站顺序存储在用户本地终端上的数据(通常是加密的)。 为了识别用户并执行会话跟踪,Python提供了cookielib模块来处理cookie。 cookielib模块的主要功能是提供一个可以存储cookie的对象,供urllib2模块使用。

用于访问Internet资源。

代码片段:

关键是CookieJar(),它管理HTTPcookie值,

存储HTTP请求生成的cookie,用于响应。 将cookie

对象添加到传出的HTTP请求中。 整个cookie存储在内存中。 CookieJar实例被垃圾收集后,cookie就会丢失。 无需单独运行每个进程。

手动添加cookie。

4.伪装成浏览器

有些网站讨厌被爬虫访问,拒绝爬虫请求。 因此,直接使用urllib2访问网站时,经常会出现HTTPError403:Forbidden。

特别注意一些标头:

1.用户代理检查此值。 ,用于判断请求是否是浏览器发起的。

2.使用Content-TypeREST接口时,服务器会检查

值to确定应如何解析HTTPBody的内容。

如果修改http包的头部,代码片段将如下所示:

5.对于简单的验证码,可以进行简单的识别。 虽然只是进行了一些简单的认证码识别,但是一些半人性化的认证码,比如12306

,可以通过编码平台手动编码,当然这是要收费的。

6.Gzip压缩

您是否见过无论如何转码网页都会变形的情况?哈哈,这意味着很多Web服务都具备了传输压缩数据的能力,这样可以减少网络线路上传输的数据量60%以上。 对于XMLWeb服务尤其如此。 这是因为XML数据的压缩率可以非常高。

但是,服务器通常不会发送压缩数据,除非您告诉服务器它可以处理压缩数据。

所以:您需要修复代码.

这是关键。 通过创建请求对象并添加Accept-

编码标头,可以接受gzip压缩数据的服务器。

然后解压缩数据。

7.多线程并发抓取

如果单线程太慢,就需要多线程。 简单的一个线程池模板

该程序仅打印1-10,但您可以看到它们同时运行。

Python的多线程没什么用,但是对于经常使用网络的爬虫来说,可以在一定程度上提高效率。