技术文章 > Python技术 > Python基础 > 正文

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


以上就是应对爬虫的一个小小的方法,毕竟各种反爬虫技术还是挺厉害的,小编在这方面也没有太深的研究,只能带来一些实用的小技巧啦~更多Python学习推荐:PyThon学习网教学中心

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 python反爬虫可以做些什么?前景怎么样?
相关视频章节
 Python爬虫基础
 Python爬虫的基本原理
推荐视频
视频教程分类