python如何应对爬虫报错

759次阅读
没有评论

python如何应对爬虫报错

书本上说有,烟花是火药的前身,谁能想到一个美丽的事物,最后会被用于战争呢?就像我们最早只为为了获取一些数据,来加强一个信息资源的快速更新,最后因为种种原因,又需要一种阻止这种大批获取数据的行为。小编今天不会直接讲述反爬虫是什么,大家一起在爬虫报错的案例中慢慢体会吧。

报错信息如下:

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")

 

以上就是应对爬虫的一个小小的方法,毕竟各种反爬虫技术还是挺厉害的,小编在这方面也没有太深的研究,只能带来一些实用的小技巧啦。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-26发表,共计762字。
新手QQ群:570568346,欢迎进群讨论 Python51学习