在python中并行化漂亮的汤刮刀

时间:2018-10-19 16:06:04

标签: python web-scraping parallel-processing beautifulsoup

我想并行化我的抓取脚本,该脚本使用漂亮的汤用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)

1 个答案:

答案 0 :(得分:0)

我不确定这是否对您有用,但我认为您的命名存在问题。尽量不要大写变量,因为我认为它们与对象混淆了。您可以尝试类似的方法,看看该理论是否正确。

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(test_links_list):
    browser = webdriver.Chrome(chrome_options = options)
    browser.get(test_links_list)

if __name__ == '__main__':
    pool = Pool(processes=5)
    pool.map(get_URL, test_links)

我不确定browser.get()是否包含列表,您可能不得不遍历列表调用浏览器。