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

优采云 发布时间: 2022-01-17 00:18

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

  前言

  在爬取常规静态网页时,我们直接请求对应的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(),而我用的是谷歌浏览器,我以为用的是谷歌浏览器与使用 Firefox 相同,但在运行时出错。后来,我在网上找到了。就是从selenium官网下载Chrom Driver,然后在使用webdriver.chorme()函数时,需要传递executable_path参数,这个参数的值就是Chrome Driver.exe文件下载到的路径selenium 官网位于。在示例中,我把chromedriver.exe放在根目录下,所以我在代码中使用了相对路径(executable_path="./chromedriver")。推荐

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线