在游览器中xpath匹配成功,代码中匹配缺为空的原因和解决

 一。代码不同导致 

问题是这样的,在游览器中我们写的xpath完美匹配到了我们想要的内容,可是在python代码中运行的时候返回值缺为空

这代表我们的匹配规制实质上是失败了的,但这是为什么呢?

于是我使用get请求,并打印我得到的html代码,和网页代码比较后终于找到问题的原因

可以看到这里的class=“cover_data_china”属性里面还多出来了一段noNewScroll,而这一段代码在我们f12后的开发者工具中的代码中是不一样的

这就是为什么我们在游览器中可以匹配而代码中出错的原因,因为html就不同,所以我们需要重新写一边xpath的匹配规则才能解决这个问题

二。不同游览器的到的不同

我们知道,我们通常会带上一个headers请求头来说明我们的身份(是什么游览器或者手机),实际上不同的游览器得到的不一定是同一套网页代码,这时候,我们可以修改请求头来解决

常见的User-Agent:的值


1) Chrome(谷歌)
Win7:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1
Win10:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36
Chrome 17.0 – MAC
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11


2) Firefox(火狐)
Win7:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0
Firefox 4.0.1 – MAC
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1


3) Safari(Safari是苹果计算机的操作系统Mac OS中的浏览器)
safari 5.1 – MAC
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50
safari 5.1 – Windows
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50


4) Opera(欧朋浏览器可以在Windows、Mac和Linux三个操作系统平台上运行)
Opera 11.11 – MAC
User-Agent:Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11
Opera 11.11 – Windows
User-Agent:Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11


5) IE
IE 11
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
IE 9.0
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;
IE 8.0
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)
IE 7.0
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
IE 6.0
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
WinXP+ie8:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.0)
WinXP+ie7:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
WinXP+ie6:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

6) 傲游
傲游(Maxthon)
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)


7) 搜狗
搜狗浏览器 1.x
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)


8) 360
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)

9) QQ浏览器
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0)

https://blog.csdn.net/wangqing84411433/article/details/89600335

原文地址:https://www.cnblogs.com/Truedragon/p/12584504.html