• 在游览器中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

  • 相关阅读:
    POJ 3579 Median (二分)
    POJ 2976(01分数划分+二分)
    CodeForces
    hdu3555 Bomb(数位dp)
    hdu 2476 String painter(区间dp)
    poj 2955 Brackets(区间dp)
    HDU 2665(主席树,无修改第k小)
    BNUOJ ->Borrow Classroom(LCA)
    poj 2763(在线LCA+树状数组)
    Jmeter-常用线程组设置及场景运行时间计算
  • 原文地址:https://www.cnblogs.com/Truedragon/p/12584504.html
Copyright © 2020-2023  润新知