2017-05-27 53 views
1

我希望從中獲取所有的IP代理地址: https://free-proxy-list.net/Python的硒頁面源代碼

我決定,這將是更快,如果我從源代碼得到它。

但問題是,我看到的一切,當我點擊CTRL +ü,但是當我使用「page_source」我看到只有少數的IP,而不是全部。

感謝您的幫助。對於DebanjanB我顯示代碼。我不必使用硒。

有代碼:

import requests 
import lxml.html 
r = requests.get("https://free-proxy-list.net/") 
html = lxml.html.fromstring(r.content) 
ip_list = html.xpath("//tr/td[1]/text()") 
port_list = html.xpath("//tr/td[2]/text()") 
with open("E:\proxy_lista.csv",'w',newline='') as csvfile: 
spamwriter = csv.writer(csvfile, delimiter=' ',quotechar='|',       quoting=csv.QUOTE_MINIMAL) 
for i in range(0,len(ip_list)): 
spamwriter.writerow(ip_list[i].split()) 
csvfile.close() 

回答

0

這是因爲只有20錶行當前頁面上顯示。

如果你只需要刮那些IP數字,你可能需要使用的python-requests + lxml.html代替selenium

import requests 
import lxml.html 

r = requests.get("https://free-proxy-list.net/") 
html = lxml.html.fromstring(r.content) 
ip_list = html.xpath("//tr/td[1]/text()") 

如果是強制你使用selenium你應該創建一個空列表,需要append()值和click()「下一步」按鈕。在while循環中執行此操作,直到啓用「下一步」按鈕