Python Selenium页面源码

时间:2017-05-27 08:21:44

标签: python selenium web-scraping

我想从以下地址获取所有IP代理地址: https://free-proxy-list.net/

我决定如果从源代码中获取它会更快。

但问题是当我点击 CTRL + U 时我看到了所有内容,但是当我使用“page_source”时,我只看到了几个ip而不是全部。< / p>

感谢您的帮助。对于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()

1 个答案:

答案 0 :(得分: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()&#34;下一步&#34;按钮。在while循环中执行此操作直到&#34;下一步&#34;按钮已启用