1. 程式人生 > >selenium + python環境搭建

selenium + python環境搭建

1. 背景

本來想使用scrapy來實現,但是在實現時遇到兩個問題:

2017-11-16 14:27:46 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET http://m.1688.com/touch/?src=desktop> from <GET https://www.1688.com/>
2017-11-16 14:27:56 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://m.1688
.com/touch/?src=desktop> (failed 1 times): 503 Service Unavailable
  • 解決方法是將user-agent固定為PC版本,確實能獲取到正常的主頁,如下:
request.headers['User-Agent'] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36"

# 2017-11-16 14:31:32 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.1688.com/> (referer: https://www.1688.com)
# parseCategoryIndex url = https://www.1688.com/, status = 200, meta = {'dont_redirect': False, 'download_timeout': 25.0, 'proxy': 'http://proxy.abuyun.com:9020', 'download_slot': 'www.1688.com', 'download_latency': 0.817000150680542, 'depth': 0}
# 301, 302屬於重定向
2017-11-16 14:31:33 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302
) to <GET https://sec.1688.com/query.htm?smApp=searchweb2&smPolicy=searchweb2-selloffer-anti_Spider-seo-html-checklogin&smCharset=GBK&smTag=MTA2LjYuMjExLjE2NiwsOGIwMWU4YTI5NWFiNDI3YmE0MThmMDU1YWVmOTYxZmE%3D&smReturn=https%3A%2F%2Fs.1688.com%2Fselloffer%2Foffer_search.htm%3Fkeywords%3D%25B3%25B5%25D4%25D8%25D6%25A7%25BC%25DC%26button_click%3Dtop%26earseDirect%3Dfalse%26n%3Dy&smSign=GCD5%2FZ6L1vsOtejzfMb2tQ%3D%3D> from <GET https://s.1688.com/selloffer/offer_search.htm?keywords=%B3%B5%D4%D8%D6%A7%BC%DC&button_click=top&earseDirect=false&n=y>
  • 實踐發現,1688這個網站防護措施比較嚴密,也基於他的歷史原因,所以後面決定採用selenium瀏覽器渲染的方式來實現資料的爬取。

2. 環境

  • python 3.6.1
  • 系統:win7
  • IDE:pycharm
  • 安裝過chrome瀏覽器

3. 環境搭建

3.1. 安裝 selenium

  • 直接使用 pip install selenium 安裝
    這裡寫圖片描述

  • 安裝好之後,看一下selenium版本:
    這裡寫圖片描述

3.2. 下載 chromedriver

3.2.1. 第一步,安裝chrome瀏覽器。

3.2.2. 第二步,判斷本地chrome瀏覽器版本。

  • 在chrome瀏覽器中輸入 chrome://version 檢視瀏覽器版本。可以看到版本是:v59
    這裡寫圖片描述

3.2.3. 第三步,下載對應版本的 chromedriver。

3.3. 配置 chromedriver

  • 如果chromedriver沒有配置好的話,會出現如下的Error:
    這裡寫圖片描述

  • 所以要配置好chromedriver,步驟如下:

    • (1). 將chromedriver.exe放到目錄 E:\Miniconda
      這裡寫圖片描述

    • (2). 配置系統環境變數 PATH
      這裡寫圖片描述

3.4. 結果展示:

  • 配置好之後,可以正常啟動瀏覽器,結果如下:
from selenium import webdriver
browser = webdriver.Chrome()

這裡寫圖片描述

4.官方文件:

  • 百度搜索,尋找到對應的文件:

這裡寫圖片描述
這裡寫圖片描述