cvmachine.com - 申博开户网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:Requests后用Beautifulsoup找不到指定元素(原来是页面元素被注释)

Requests后用Beautifulsoup找不到指定元素(原来是页面元素被注释)

2019-04-03 08:40:57 来源:www.cvmachine.com 【

这个问题是在Requests抓取百度贴吧内容列表时出现,可能在抓取其他某些网页时也会出现这个问题。

在用Requests时大家习惯加上header,这个header往往是Chrome的header。但是加了这个header就会导致页面中大部分html标签被放在了注释里面,后面用Beautifulsoup的find或是select都找不到对应的标签。

head = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}

html = requests.get(url=search_url, headers=head)
这时的解决办法就是:
(1)直接把header删掉,不添加header看看是否能抓取到;
(2)把Chrome的header换成IE的header.

基本上就能搞定了,下面再用Beautifulsoup去提取页面元素。

这虽然是一个很小的问题,但往往会纠缠你一两个小时找不出原因。

下面是两个header。
谷歌浏览器的User-Agnet:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36

IE浏览器的User-Agnet:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;
 
 
 
 

本文地址:http://www.cvmachine.com/a/question/100238.html
Tags: 指定 BeautifulSoup requests
编辑:申博开户网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部