前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何突破反爬虫?看这篇就够了!

如何突破反爬虫?看这篇就够了!

作者头像
Python进击者
发布2019-06-21 16:12:03
1.4K0
发布2019-06-21 16:12:03
举报
文章被收录于专栏:JAVAandPython君JAVAandPython君
1

写在前面的话

之前给大家写了那么多的爬虫案例,今天来给大家讲讲大部分网站反爬虫的一些措施以及我们如何去突破他们得反爬虫!当然这次有点标题党,技术是日益进步的,反爬虫技术也是如此,所以看这一篇文章当然是不够的,这个也需要大家后期的不断进阶学习(JAP君也是),废话不多说了!直接进入主题吧!

2

有些啥反爬虫措施?

其实我们写爬虫最头疼的事情就是反爬虫措施了,我们想要去突破它,必然要先充分了解它们。我们来看下到底有哪些反爬虫措施吧!

  • 最常见的基于Headers的反爬虫:相信这个大家应该都是耳熟能详的,我们每次写爬虫基本上都会写headers,因为大部分的网站都会对Headers中的User-Agent以及Referer字段进行检测。这个突破起来应该是比较容易的,我们直接根据浏览器正常访问时的请求头对爬虫的请求头进行修改,和浏览器的相同即可。 headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36} rs=requests.get('http://jianshu.com')
  • 根据用户行为的反爬虫:这个反爬虫措施真的是让人头疼,具体是啥呢?举个栗子,同一个IP短时间内频繁的去访问同一个页面,或者你就是对网站有一些程序化的操作(固定时间间隔去访问页面)更加接地气的说就是看起来不像是正常人类在操作。这个问题怎么去解决呢?①既然一个ip不能频繁访问,那我就弄一大堆ip不就行了,所以我们可以通过大量的ip代理进行绕过。②我们访问的时候可以将间隔的时间换成一个随机的数字,尽可能的去模仿正常人的操作。
代码语言:javascript
复制
proxies = {  "http": "http://127.0.0.1:8888",  "https": "http://127.0.0.11:1080",
}
requests.get(url, proxies=proxies)
  • 基于验证码的反爬虫:其实验证码也是一种反爬虫的措施,现在的验证码相信大家也都见识过了,什么算数啊,滑动啊,按照顺序点击字啊等等,千奇百怪,其实像这种验证码的防爬虫措施是有点棘手的,这里的话几句话也说不完(涉及到机器学习或者也可以使用打码平台),大家可以先了解一下这种反爬虫措施,到时候我会写一篇有关于突破验证码的文章。
  • 动态页面的反爬虫:这种技术应该还是比较常见的,动态页面是啥呢?像我们在html上抓取数据,那是属于静态页面的数据,非常的简单。但是想动态页面的话就无法直接从页面上获取数据,而是会涉及到Ajax技术,所以我们需要分析Ajax请求,然后模拟发送获取到数据,但是目前很多网站不会那么轻易的让你模拟发送数据出去,所以目前我们需要通过selenium+phaantomJS技术来进行突破!这个我们日后会讲。
  • 基于登录的反爬虫:像有些网站就比较抠了,必须要注册登录之后才能看到里面的内容,所以这也是个问题,但是这个也并不是特别难,只要你有足够的耐心多去注册几个账号,然后去登录获取到它们的cookie,然后通过这些cookie去访问登录即可

3

总结

上面的大概就是目前很常见的一些反爬虫措施,我在上面也提供了一些解决的方法和思路,当然每个网站的爬取是不一样的,这也是爬虫最吸引人的地方,不断地给我们挑战,我们也需要不断地去突破它,所以大家可以通过上面的一些方法去突破这些限制,当然技术肯定不止仅限于我所讲的。我也只是提供一些大众的思维。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python进击者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档