urllib2和webdriver得到的网页的源代码的不同

Posted 有挫败才有成长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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动态生成的元素代码

以上是关于urllib2和webdriver得到的网页的源代码的不同的主要内容,如果未能解决你的问题,请参考以下文章

urllib2使用初探

获取网页源代码

获取网页内容(不是来自源代码)[重复]

python下用selenium的webdriver包如何在执行完点击下一页后没有获得下一页新打开页面的html源代码

爬虫之selenium和webdriver—基础

python下用selenium的webdriver包如何在执行完点击下一页后获得下一页新打开页面的html源代码呢?