我想使用 while 循环来迭代该函数,但它只迭代一次,之后,程序就静止不动了。
from selenium import webdriver
from multiprocessing import Process
def browse(url):
driver = webdriver.Chrome()
driver.get(url)
print(driver.page_source)
driver.__exit__()
Pros = []
urls = open('urls.txt')
if __name__ == '__main__':
while True:
for url_item in urls:
print(url_item)
p = Process(target=browse, args=(url_item,))
Pros.append(p)
p.start()
for t in Pros:
t.join()
主要问题取决于文件内容的读取方式以及 Process 对象的启动方式。它从临时 Process 对象而不是进程列表中的 Process 对象开始(优点)。简而言之,这只是一个引用问题和使用文件对象的错误方式。这是工作代码。
from selenium import webdriver
from multiprocessing import Process
def browse(URL):
driver = webdriver.Chrome()
driver.get(URL)
print(driver.page_source)
driver.__exit__()
Pros = []
urls = open('urls.txt').readlines()
if __name__ == '__main__':
while True:
print("testing")
for url_item in urls:
print(url_item)
p = Process(target=browse, args=(url_item,))
Pros.append(p)
Pros[-1].start()
for t in Pros:
t.join()
Pros = []
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句