动态网页抓取(需安装的三方库示例代码示例说明:获取德邦官网)

优采云 发布时间: 2021-10-01 15:04

  动态网页抓取(需安装的三方库示例代码示例说明:获取德邦官网)

  前言

  在抓取常规静态网页时,我们可以直接请求相应的url来获取完整的HTML页面,但是对于动态页面,网页显示的内容往往是通过ajax动态生成的,所以如果直接使用urllib.request的时候获取页面的HTML,我们无法获取我们想要的内容。然后我们就可以使用selenium库来获取我们需要的内容了。

  要安装的三方库示例代码

  示例说明:获取德邦官网已设立网点的城市名称

  import urllib.request

from bs4 import BeautifulSoup

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

chrome_options = Options()

chrome_options.add_argument("--headless") #设置该参数使在获取网页时不打开浏览器

driver = webdriver.Chrome(chrome_options=chrome_options, executable_path="./chromedriver")

driver.get("https://www.deppon.com/deptlist/")

html = driver.page_source

driver.close()

soup = BeautifulSoup(html, 'lxml')

items = soup.select('div[class~="listA_Z"] a')

for item in items:

print(item.string)

  使用“pip install selenium”安装selenium库时遇到的小问题失败。您可以使用以下命令安装“pip install --trusted-host --trusted-host selenium”。使用webdriver.Chrome()时,网上出现的问题文章使用火狐浏览器。他们可以直接使用 webdriver.Firefox(),但我使用 Google Chrome。我以为使用谷歌浏览器和使用火狐是一样的,但是在运行时发生了错误。后来我在网上找到了。我想从selenium官网下载Chrom Driver,然后在使用webdriver.chorme()函数的时候需要上传。executable_path参数,该参数的值为selenium官网下载的Chrome Driver.exe文件所在的路径。在示例中,我将 chromedriver.exe 放在根目录中,因此我在代码中使用了相对路径(executable_path="./chromedriver")。推荐

  Chrom/firefox 浏览器插件:Katalon Recorder,Katalon Recorder 是一个前端自动化测试插件,可以用来记录你在网页上的所有操作,最神奇的是它还可以导出记录到各种代码,其中收录 Python2 代码。有时借用它,我们无需分析HTML的结构就可以轻松得到我们需要的数据,这对于HTML结构凌乱的网页非常有帮助。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线