【发布时间】:2020-03-09 05:40:24
【问题描述】:
我有 URL 列表,我需要从它们中抓取数据。在新驱动程序中打开每个 url 时网站拒绝连接,所以我决定在新选项卡中打开每个 url(网站允许这种方式)。下面的代码我正在使用
from selenium import webdriver
import time
from lxml import html
driver = webdriver.Chrome()
driver.get('https://www.google.com/')
file = open('f:\\listofurls.txt', 'r')
for aa in file:
aa = aa.strip()
driver.execute_script("window.open('{}');".format(aa))
soup = html.fromstring(driver.page_source)
name = soup.xpath('//div[@class="name"]//text()')
title = soup.xpath('//div[@class="title"]//text()')
print(name, title)
time.sleep(3)
但问题是所有 URL 都是一次打开,而不是一个接一个。
【问题讨论】:
-
是否允许一一打开驱动程序?我的意思是打开一个驱动程序,然后关闭它,然后再打开另一个驱动程序。网站会拒绝还是可以?
标签: selenium web-scraping webdriver selenium-chromedriver lxml