有些小白可能在初次爬虫时有很多不太了解的地方,导致频繁踩坑,下面给大家总结了几种小白在爬虫爬取过程中可能会遇到的问题。希望大家看完之后能够少走点弯路。
(一)请求下来的HTML中文编码问题
import requests
from bs4 import BeautifulSoup
res = requests.get(newsurl)
soup = BeautifulSoup(res.text,"lxml")
news_item = soup.select(".news-item")print(news_item[0].select("h2")[0].text)
结果:
??????é?¨??????è?????????±??????? é????é??
解决办法
import requestsfrom bs4 import BeautifulSoup
res = requests.get(newsurl)
soup = BeautifulSoup(res.text.encode(res.encoding).decode('utf-8'),"lxml") #添加编解码
news_item = soup.select(".news-item")print(news_item[0].select("h2")[0].text)
(二)爬虫长时间运行报错
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))
解决办法一,设置请求头user-agent:
headers = requests.utils.default_headers()
headers['User-Agent'] = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'
#headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36'
r = requests.get('https://academic.oup.com/journals', headers=headers)
解决办法二:更换ip地址
(三) UA(用户代理)欺骗
UA,即 User-Agent,是Http协议的一部分,属于头域的组成部分,发送 http 请求时,请求头中会有 User-Agent字段。服务器通过该字段来分辨发送请求的浏览器类型、版本、内核以及操作系统信息等。在浏览器 console 可用如下命令来获得该浏览器的 UA 标识:
navigator
.userAgent
每当你访问一个网站,它会通过 UA(用户代理)来获取你浏览器的信息。你在有些网站上 看不到任何内容,除非你提供一个用户代理。另外,网站对不同的浏览器展示不同的内容。网站不希望屏蔽真正的用户,当如果你用同一个用户代理每秒发送两百个请求的话,你的行为看起来会非常的可疑。一种可能的解决方法是生成随机的用户代理或自己设置一个。有时候通过手机浏览器访问得到的页面会更加简洁,更容易抓取,所以伪装成手机浏览器也是一种好方法。
当然也有一些未列举出来的问题,大家以后在爬虫爬取过程中有可能还会遇到多种多样的问题,在遇到问题时及时记录下来,也能方便以后的查阅,建议多和爬虫大神交流获取一些心得。
相关文章内容简介
1 代理IP不仅仅解决网络限制
代理IP不仅仅解决网络限制,很多人都知道使用代理IP可以解决网络的限制问题,例如注册帐号、访问外国网站、软件等。这是代理IP的主要用途,但其实还有很多用途供我们使用。 代理IP不仅仅解决网络限制 1.加快下载速度。有部分网站对下载是有限制的,例如限制一个IP只能下载一个,出现这样的情况可以通过代理IP工具,同时多IP一起下载了。 2.隐藏真实IP。代理IP开启后,真正的IP会被代理IP完全隐藏,这样保证了上网及个人信息的安全。 3.共享上网。通过代理服务器,可以对局域网有线宽带加以利用,提高内网用户的上网速度。同时还可以当做防火墙,保护内网的安全。 通过以上的介绍,相信大家都了解了代理IP的用途有很多。万变ip代理IP覆盖全国多城市,IP可用率高达97%,还可以自动切换IP,操作简单,再也不用担心IP被封的困扰。... [阅读全文]
2 私密代理ip适合大众使用吗?
私密代理ip适合大众使用吗?其实私密代理而且这种http代理ip资源在之前的人们耳中并不时常听到,随着时代的发展,他开始在人们的生活中活跃起来,越来越多的人开始对它有所了解。 如今信息非常的发达,科技的发展也日新月异,人们借助科技的发展和信心为自己的生活也带来了很多改变。但是在社会发展越来越好的时候,由于人们对信息的广泛使用,会出现泄露信息的一些现象。 人们在使用互联网的过程中,自己的照片或者是银行账号等,都有可能在不经意间泄露出去。那么我们应该如何改变这一现象的发生呢?这个时候我们就可以借助私密代理ip了。 那是很多人肯定都了解到了,HTTP代理IP服务都非常贵,只有一些大公司或是大企业才能负担得起费用,因此很多大众都对于这个平台望而却步。或许这也是万变云私密代理ip上市不久就受到了很多人欢迎的原因,这个平台按照使用的次数来收费,为大众节省了不少费用的同时才能很好地保护大家的隐私。... [阅读全文]
推荐阅读
17
2020-02
网络爬虫是什么工作原理,如何展开工作?
我们可以将庞大的互联网比喻成一张一望无际的网络蜘蛛网,而爬虫就是在蜘蛛网上爬行的蜘蛛,把网的节
31
2020-01
Flutter版本不一致错误
有时在我们在github下载源码后,发现应该好用的代码但是在我们的机器上却出现莫名其妙的报错,有可能是我们的版本号不一致的问题。
21
2020-08
购买IP代理需要避免的错误
网络大数据时代,信息的收集和统计在现在显得尤为重要。不管是为了实现Web抓取、广告验证、投票还是价格监制都需要使用到代理IP。但是代理IP的购买还是需要有很多门道在里面的。今天我
20
2020-01
如何衡量代理ip的性价比?
随着大数据的应用需求,代理ip服务商也是逐日增多,随便在我们常用的浏览器的搜索引擎里输入“代理ip,高质量代理ip,ip”等关键词。就是展现很多服务平台的供应商,代理ip的功能、质量
26
2020-10
爱加速为何使用代理IP存在延迟?
先了解一下网络环境的基本情况。一般而言,上网必须使用TCP/IP协议。简而言之,我们必须有一个动态的 IP地址 来访问Internet,这个地址是唯一的。每个能连入因特网的设备只有一个IP地址。为
12
2020-11
代理服务器会修改ip包中的源Ip地址吗?
代理服务器 ip 会修改ip包中的源 Ip地址 吗?答案是肯定的,会修改的!首先,代理位于网络层之上。当你使用代理时,在网络层,ip包将被填充你的源ip和代理服务器ip。
热门文章
因为专业! 所以简单! 产品至上,价格实惠 是我们服务追求的宗旨
免费试用