【发布时间】:2018-10-19 16:06:03
【问题描述】:
我想并行化我的抓取脚本,该脚本是用 python 编写的,使用漂亮的汤。尽管阅读了它,但我对如何让它在我的代码中工作感到困惑。 我现在要做的是将链接列表作为输入并打开几个浏览器/选项卡以将此 URL 作为输入。后来显然我想包括我的整个代码并从每一面刮下来。但我无法让这第一步发挥作用。
这是我的尝试:
Test_links = ['https://www.google.com/maps', 'https://www.google.co.uk/?
gfe_rd=cr&dcr=0&ei=3vPNWpTWOu7t8weBlbXACA', 'https://scholar.google.de/']
def get_URL(Link):
browser = webdriver.Chrome(chrome_options = options)
browser.get(Link)
if __name__ == '__main__':
pool = Pool(processes=5)
pool.map(get_URL, Link)
【问题讨论】:
-
您在使用此代码时遇到了什么问题?是否只打开一个浏览器/标签页?
-
我收到此错误消息:文件“C:\ProgramData\Anaconda3\lib\multiprocessing\pool.py”,第 644 行,在 get raise self._value TypeError: get_URL() 位置为 0参数,但给出了 1
-
我认为 (Link) 作为 get_URL 的参数存在问题。它期望 get_URL 没有参数,但看起来您将 Link 映射到它。
-
是的,所以这里的 Link 实际上应该是 Test_links。那么如何让 get_URL 期望参数 Test-links,因为这显然是我需要在 URL 上调用的内容?
-
在下面查看我的答案,我认为这可能是您的命名问题。
标签: python web-scraping parallel-processing beautifulsoup