Python怎么抓取网页动态信息?网页动态加载的数据如何用Python爬取

在python之中可以通过爬虫的方式来将网页上的数据给抓取回来,但是有一些网页它在更新数据的时候网址不会发生变化,而是使用异步这种动态加载信息的方式将数据更改 。那么小编今天就来给大家分享一个使用selenium模块,实现python动态爬取网页数据的方法 。

Python怎么抓取网页动态信息?网页动态加载的数据如何用Python爬取

文章插图
1.selenium模块是第三方模块,通过pip工具直接去安装就好了 。但是因为要获取动态加载的网页信息,所以需要根据使用的浏览器去安装对于的驱动,下面是Chrome浏览器的驱动下载地址,示例如下:
http://chromedriver.storage.googleapis.com/index.html下载完成之后会得到一个exe文件,需要将其保存在/usr/bin文件目录中,这个文件路径是在C盘的用户文件夹内 。
2.保存完成之后就可以开始编写代码了,首先就是将需要使用到的模块给导入进来,代码如下:
from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC3.模块导入进来之后实例化一个操作Chrome浏览器的对象,将浏览器驱动加载进来 。再调用get()方法请求访问一个网页,示例如下:
chrome_options = webdriver.ChromeOptions()driver = webdriver.Chrome(options = chrome_options, executable_path='chromedriver')driver.get('https://item.jd.com/12353915.html')4.以上几步操作完成之后就已经打开浏览器并进入到了这个网页之中,那么此时需要等待一段时间等它完全加载完毕再返回其中指定类名的节点 。根据这个节点就可以访问到它下面的子节点并且通过类名来获取到所需要的信息了,详细代码示例如下:
wait = WebDriverWait(driver,10)wait.until(EC.presence_of_element_located((By.CLASS_NAME,"w")))name_div1 = driver.find_element(By.XPATH,'//div[@class="sku-name"]')在上面的所有代码步骤之中,等待浏览器加载这一步是最关键的 。在浏览器内实施了点击或者是搜索等任意操作之后,都需要等待一段时间等它的数据加载出来之后才可以去爬取,否则会取到空的数据 。
【Python怎么抓取网页动态信息?网页动态加载的数据如何用Python爬取】以上就是关于“Python怎么抓取网页动态信息?网页动态加载的数据如何用Python爬取”的全部内容了,希望对你有所帮助 。

    推荐阅读