1. 程式人生 > >使用python+selenium+PantomJs+javascript爬取專利資料

使用python+selenium+PantomJs+javascript爬取專利資料

環境準備

爬取目標

爬取過程

  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獲取各個引數的路徑。如圖
      這裡寫圖片描述

    • 通過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操作模組,可供參考。