您的位置:首页 > 新闻资讯 >文章内容
学习python爬虫,需要掌握网站抓取、伪装技巧、代理IP工具
来源:互联网 作者:admin 时间:2019-03-23 18:17:32

  学习python爬虫,需要学习哪些知识?都说python比较容易学,而且用途也比较广,不管是进行数据的采集,还是做其他的一些开发,其实都可以使用python的。

  网络爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也能省些事情。

  1.基本抓取网站页面


学习python爬虫,需要掌握网站抓取、伪装技巧、运用代理IP

  2.Cookies处理

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

  代码片段:


学习python爬虫,需要掌握网站抓取、伪装技巧、运用代理IP


  关键在于CookieJar(),它用于管理HTTP cookie值、存储HTTP请求生成的cookie、向传出的HTTP请求添加cookie的对象。整个cookie都存储在内存中,对CookieJar实例进行垃圾回收后cookie也将丢失,所有过程都不须要单独去操作。

  手动添加cookie

学习python爬虫,需要掌握网站抓取、伪装技巧、运用代理IP


  3.使用代理IP

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

  在urllib2包中有ProxyHandler类,通过此类还可以设置代理访问网站页面,如下代码片段:

学习python爬虫,需要掌握网站抓取、伪装技巧、运用代理IP

  4.伪装成浏览器

  某些网站反感网络爬虫的到访,于是对网络爬虫一律拒绝请求。所以用urllib2直接访问网站经常会出现HTTP Error 403: Forbidden的情况

  对有些 header 要特别留意,Server 端会针对这些 header 做检查

  User-Agent 有些 Server 或 Proxy 会检查该值,用来判断是否是浏览器发起的 Request

  Content-Type 在使用 REST 接口时,Server 会检查该值,用来确定 HTTP Body 中的内容该怎样解析。

  这时还可以通过修改http包中的header来实现,代码片段如下:

学习python爬虫,需要掌握网站抓取、伪装技巧、运用代理IP

  5.页面解析

  对于页面解析最强大的当然是正则表达式,这个对于不同网站不同的使用者都不一样,就不用过多的说明,附两个比较好的网址:

  正则表达式入门:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

  正则表达式在线测试:http://tool.oschina.net/regex/

  其次就是解析库了,常用的有两个lxml和BeautifulSoup,对于这两个的使用介绍两个比较好的网站:

  lxml:http://my.oschina.net/jhao104/blog/639448

  BeautifulSoup:http://cuiqingcai.com/1319.html

  对于这两个库,小编的评价是,都是HTML/XML的处理库,Beautifulsoup纯python实现,效率低,但是功能实用,比如能用通过结果搜索获得某个HTML节点的源码;lxmlC语言编码,高效,支持Xpath  

  6.多线程并发抓取

  单线程太慢的话,就须要多线程了,这里给个简单的线程池模板 这个程序只是简单地打印了1-10,但是还可以看出是并发的。

  虽然说python的多线程很鸡肋,但是对于网络爬虫这种网络频繁型,还是能一定程度提高效率的。


学习python爬虫,需要掌握网站抓取、伪装技巧、运用代理IP

  以上是关于学习python爬虫需要用到的知识,及早掌握还是不错的。在爬虫去抓取信息的期间,是需要使用代理IP,对于代理IP的选择,最好可以找个高质量,高匿名的,比如代理精灵这样的。



相关文章内容简介
推荐阅读
  • 20 2019-06
    为爬虫找个有效的http代理怎么那么难呢?

    为爬虫找个有效的http代理怎么那么难呢?因为爬虫需要的代理数量太多了,尤其现在是大数据时代,每天都产生海量的数据,你慢一步,用户就选择其他的产品了。因此,爬虫要拼速度,而提

  • 10 2019-08
    代理ip的有效时间有多长

    代理ip的有效时间有多长?既然是动态代理ip,自然是有时效的,时效最差的是免费代理ip,很多时候刚检测能用,但下一秒就不行了。使用这效果的代理ip是不行的,那么代理ip的有效时间有多

  • 20 2019-11
    使用线程IP池的原因

    用线程IP池有什么好处?代理IP有线程IP池跟独享IP池,那么是什么原因让我们选择线程IP池呢?今天就来跟机灵代理一起分析一下。

  • 12 2019-04
    HTTP代理的普通代理和隧道代理

    估计很多人都不认识HTTP代理,什么是HTTP代理?HTTP代理存在2种形式,即普通代理和隧道代理,这两个都有什么不同呢?下面为大家简单的介绍一下:

  • 22 2019-07
    挑http代理了解5点骗不了!

    挑http代理了解5点骗不了!http代理可以应用的行业越来越多,尤其是如今互联网限制多,无论互联网行业发展到何种地步,“资源”永远是任何互联网公司必不可少的弹药粮草。夸大些讲,任何

  • 16 2019-05
    怎么找高质量的代理ip资源?

    怎么找高质量的代理ip资源?代理IP资源并不少,大家缺的是高质量的IP资源,目前IP资源还是很稀缺的, ipv4早就分光了,ipv6尚未全面普及,因此很多IP资源都是重复使用的,很多共享IP资源,质

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部