书本上说有,烟花是火药的前身,谁能想到一个美丽的事物,最后会被用于战争呢?就像我们最早只为为了获取一些数据,来加强一个信息资源的快速更新,最后因为种种原因,又需要一种阻止这种大批获取数据的行为。小编今天不会直接讲述反爬虫是什么,大家一起在爬虫报错的案例中慢慢体会吧。
报错信息如下:
Http 800 Internal internet error
这是因为你的对象网站设置了反爬虫程序,如果用现有的爬虫代码,会被拒绝。
之前正常的爬虫代码如下:
1 from urllib.request import urlopen 2 ... 3 html = urlopen(scrapeUrl) 4 bsObj = BeautifulSoup(html.read(), "html.parser")
这个时候,需要我们给我们的爬虫代码做下伪装,
给它添加表头伪装成是来自浏览器的请求
修改后的代码如下:
1 import urllib.parse 2 import urllib.request 3 from bs4 import BeautifulSoup 4 ... 5 req = urllib.request.Request(scrapeUrl) 6 req.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)') 7 response = urllib.request.urlopen(req) 8 html = response.read() 9 10 bsObj = BeautifulSoup(html, "html.parser")
以上就是应对爬虫的一个小小的方法,毕竟各种反爬虫技术还是挺厉害的,小编在这方面也没有太深的研究,只能带来一些实用的小技巧啦~更多Python学习推荐:PyThon学习网教学中心。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)