selenium提供了css選擇器和xpath甚至還有by tag_name、by attribute之類的方法,很方便,在此之前我的都是xpath,但是看到這些方法,我還是果斷放棄了xpath......
	  坑
	  等等,你以為這樣的代碼在osx下測試的好好的,放到Linux下能跑了?
	  拿Debian舉例:
	  
sinux@Sinux-Universe:~$ cat /etc/issue
	  Debian GNU/Linux 8 
 l
	  首先你的服務(wù)器需要一個瀏覽器,下載一個Chromium吧:
	  sudo apt-get install chromium
	  好了,現(xiàn)在有了Chrome了。
	  但是絕大多數(shù)Linux服務(wù)器沒有圖形化界面,所以你還需要模擬出一個展示 WebDriver 的地方。
	  這里使用 PyVirtualDisplay 。
	  在使用driver之前,先開啟一個演示界面
	  from pyvirtualdisplay import Display
	  display = Display(visible=0, size=(800, 800))
	  display.start()
	  你發(fā)現(xiàn)仍然報錯,因?yàn)镃hromedriver的很多版本(2.20,2.19,2.15都是不行的)和selenium是存在沖突的,所以你還需要找到一個specific版本,它是chromedriver for linux 64 2.10。
	  不要想著在64位的服務(wù)器下使用32位的東西了,它們只會增加出錯誤的幾率。
	  到現(xiàn)在,這個爬蟲才可以跑起來,但是效果不是很理想,可能是因?yàn)榧嫒菪灾惖膯栴},在服務(wù)器下表現(xiàn)遠(yuǎn)沒有開發(fā)環(huán)境下順暢,錯誤頻出。
	  ----------正文結(jié)束-----------
	  但是我們還是有辦法的不是嗎,比如寫一個?炸天的守護(hù)進(jìn)程,來保證即便出錯了,我們的爬蟲仍然可以堅挺的不斷的爬:
	  # i am the best deamon
	  while true ; do
	  pkill chromedriver
	  python spider.py
	  done
	  好了,總結(jié)一下是如果你恰好遇到了需要爬的內(nèi)容,那么模擬一些JS事件、發(fā)送請求是一個比較煩人的問題,但是相比需要在保證效率的前提下需要不斷換代理來應(yīng)對反爬蟲策略之類的問題來說,還算是一個一勞永逸的事。