使用python+selenium+PantomJs+javascript爬取专利数据

环境准备

  • 安装python3.5
  • selenium
  • 下载PantomJs.exe

爬取目标

  • 专利网站
  • 爬取专利名,申请人,发明人等

爬取过程

  1. 通过selenium获取PhantomJs的webdriver实例

    • 先导入webdriver的包

      from selenium import webdriver

    • 获取实例

      driver = webdriver.PhantomJS(executable_path=’.\res\phantomjs.exe’)

    其中,executable_path为PhantomJs.exe的位置。

  2. 连接网址

    driver.get(url_path)

  3. 填写查询信息

    • 通过chrome查看了元素的dom,如图:
      使用python+selenium+PantomJs+javascript爬取专利数据_第1张图片
    • 根据显示编写js代码,然后用webdriver执行脚本,举个例子

    driver.execute_script(“document.getElementById(\”tableSearchItemIdIVDB021\”).setAttribute(\”value\”,\”” + inventor + “\”)”)

    • 填写完相应参数后,提交表单。
  4. 采集数据

    • 根据chrome获取各个参数的路径。如图
      使用python+selenium+PantomJs+javascript爬取专利数据_第2张图片

    • 通过webdriver执行js脚本,获取各参数,举个例子

      driver.execute_script(“return document.getElementsByClassName(\”item\”).length;”)

  5. 采集过程中,可能会遇到各种各样的问题,比方说:

    • 查询超时,需要刷新浏览器,可用

      driver.refresh()

    • 可能需要判断页面中含有什么字符串,可通过一下代码获取:

      driver.page_source

    • 关闭浏览器

      driver.quit()

代码资源

csdn下载

https://github.com/will4906/PatentCrawler

代码中含有将xlwt,xlrd和xlutils用工厂模式封装的excel操作模块,可供参考。

你可能感兴趣的:(python,爬虫)