【发布时间】:2020-10-03 07:03:34
【问题描述】:
我编写了一个 python 脚本,它从文本文件中抓取 url 并从元素中打印出 href。然而,我的目标是通过多处理或多线程使其更快地在更大范围内完成。
在工作流程中,每个浏览器进程都会从当前 url 获取 href,并在同一浏览器中从 que 加载下一个链接(假设有 5 个)。当然,每个链接都应该被刮掉 1 次。
示例输入文件:HNlinks.txt
https://news.ycombinator.com/user?id=ingve
https://news.ycombinator.com/user?id=dehrmann
https://news.ycombinator.com/user?id=thanhhaimai
https://news.ycombinator.com/user?id=rbanffy
https://news.ycombinator.com/user?id=raidicy
https://news.ycombinator.com/user?id=svenfaw
https://news.ycombinator.com/user?id=ricardomcgowan
代码:
from selenium import webdriver
driver = webdriver.Chrome()
input1 = open("HNlinks.txt", "r")
urls1 = input1.readlines()
for url in urls1:
driver.get(url)
links=driver.find_elements_by_class_name('athing')
for link in links:
print(link.find_element_by_css_selector('a').get_attribute("href"))
【问题讨论】:
标签: python multithreading selenium multiprocessing python-multithreading