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

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/will4906/article/details/68955619

环境准备

爬取目标

爬取过程

  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,如图:
      这里写图片描述
    • 根据显示编写js代码,然后用webdriver执行脚本,举个例子

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

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

    • 根据chrome获取各个参数的路径。如图
      这里写图片描述

      扫描二维码关注公众号,回复: 4538521 查看本文章
    • 通过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操作模块,可供参考。

猜你喜欢

转载自blog.csdn.net/will4906/article/details/68955619
今日推荐