zoukankan      html  css  js  c++  java
  • urllib2和webdriver得到的网页的源代码的不同

    目标:扒取京东的笔记本电脑的信息(商品名和商品价格)

    通过浏览器的开发者工具查看源代码:

    一、使用urllib2获得页面源代码

    1 # coding:UTF-8
    2 import urllib2
    3 url="https://list.jd.com/list.html?cat=670,671,672"
    4 headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3298.4 Safari/537.36"}
    5 request=urllib2.Request(url=url,headers=headers)
    6 response=urllib2.urlopen(request)
    7 html=response.read()
    8 print html

    运行结果关键截图:

    分析:

    urllib2得到的源代码和通过浏览器查看的源代码不尽相同,尤其是urllib2无法得到商品的价格

    二、使用selenium的webdriver得到页面源代码

    from selenium import webdriver
    driver=webdriver.Chrome()
    driver.maximize_window()
    url="https://list.jd.com/list.html?cat=670,671,672"
    driver.get(url)
    print driver.page_source

    运行结果关键截图:

    总结:

    使用selenium的webdriver模拟用户得到的源代码和在用户在浏览器中查看的源代码一样,而urllib2得到的源代码是不包括js动态生成的元素代码

  • 相关阅读:
    Swift ARC 自动引用计数
    Swift 值类型和引用类型的内存管理
    Swift 栈和堆
    Swift 命令行输入输出
    在 OC 中调用 Swift 代码
    在 Swift 中调用 OC 代码
    Swift 类型桥接
    Swift 与 C 语言混合编程
    Swift Precondition 预处理
    Swift Assert 断言
  • 原文地址:https://www.cnblogs.com/beast-king/p/8419537.html
Copyright © 2011-2022 走看看