Bagaimana untuk melaksanakan rangkak tanpa antara muka menggunakan python + selenium + chromedriver
迷茫
迷茫 2017-05-18 10:53:13
0
2
908

Dalam proses menggunakan selenium untuk merangkak 12306, saya mendapati bahawa phantomjs tidak boleh digunakan untuk merangkaknya. Hanya gunakan chromedriver yang sepatutnya dikesan dan disekat oleh laman web menggunakan chromedriver itu kecekapan adalah rendah.
Sekarang saya ada dua soalan Saya telah mencari di Google untuk masa yang lama tetapi saya tidak menemui penyelesaian yang berkesan
1 Bagaimana untuk menyamarkan phantomjs sebanyak mungkin
2 paparkan antara muka, atau adakah terdapat cara lain untuk meningkatkan merangkak. Dapatkan kecekapan

Terima kasih! ! !

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(2)
洪涛

Anda boleh mencapai keperluan anda melalui PyVirtualDisplay Kodnya mungkin seperti ini:

.
#!/usr/bin/env python

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

# now Firefox will run in a virtual display. 
# you will not see the browser.
browser = webdriver.Chrome()
browser.get('http://www.baidu.com')
print browser.title
browser.quit()

display.stop()

Saya tidak tahu sama ada anda telah mengubah suai maklumat pengepala phantomjs Anda boleh lulus

.
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('lang=zh_CN.UTF-8')
options.add_argument('user-agent="Mozilla/5.0 (iPod; U; CPU iPhone OS 2_1 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5F137 Safari/525.20"')
browser = webdriver.Chrome(chrome_options=options)
url = "https://baidu.com"
browser.get(url)
browser.quit()

Kaedah ini mengubah suai maklumat pengepala phantomjs Anda juga boleh mencuba ini

.
世界只因有你

Anda boleh merujuk artikel saya untuk menjalankan selenium dalam mod tanpa kepala

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan