python抓取动态网页(Python抓取框架Scrapy快速入门教程》的运行流程及运行)

优采云 发布时间: 2022-02-20 15:11

  python抓取动态网页(Python抓取框架Scrapy快速入门教程》的运行流程及运行)

  Selenium 是一个用于测试 WebUI 的自动化测试框架。它通过调用Chrome和Firefox来完成动态页面(包括Javascript)的加载,因此也可以用来完成动态网页抓取。

  1、下载硒

  wget http://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar

  2、启动 selenium-standalone

  java -jar ./selenium-server-standalone-2.44.0.jar -singleWindow

  上面启动的是一个web服务器,它可以接受一个url字符串,然后在自己的进程中启动浏览器,解析并与客户端交互,并根据需要将解析结果返回给客户端。

  3、安装硒

  sudo apt-get install python-selenium

  这个包是selenium客户端的python包,当然也可以通过pypi或者pip手动安装。

  文档可以在这里找到。

  4、代码

  from selenium import webdriver

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

# Init selenium replace the ip port with your own selenium-standalone

driver = webdriver.Remote(

command_executor='http://127.0.0.1:4444/wd/hub',

desired_capabilities=DesiredCapabilities.FIREFOX

)

# Remote get dynamic page on selenium-standalone

try:

driver.set_page_load_timeout(5)

driver.get(response.url)

except:

pass

# Parse

for tag in driver.find_elements_by_xpath(xpath):

# ...process

pass

# Cleanup selenium

driver.close()

  5、在非 X11 环境中使用

  可以通过xvfb来完成,这是一个模拟xserver的程序,可以在没有xserver的机器上运行,为xserver服务。

  sudo apt-get install xvfb

  运行

  xvfb-run java -jar ./selenium-server-standalone-2.44.0.jar -singleWindow

  6、关于与Scrapy结合

  请参考我之前写的文章《Python爬虫框架Scrapy快速入门教程》,并不复杂。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线