使用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操作模塊,可供參考。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章