使用python并行化web抓取

时间:2018-04-10 09:33:13

标签: python web-scraping

我已经编写了一个python脚本来从特定网站中截取日期数据..事情是应用程序需要很长时间,因为我需要多年的数据才能完成。 我目前使用的工作是使用日期范围多次执行脚本,但我需要多次登录网站,这不是我所知道的最佳方式。

代码如下

import requests
import datetime
username = 'xxxxx'
passwrod = 'yyyyy'
startday = datetime(1950,1,1)
endday = datetime.(2018,1,1)
processday = startday
session1 = logintospartan(username,password)

while(processday<endday):
    responcecode = scrapedatafordate(session1,processday)
    processday = processday +datetime.timedelta(days=1)

每天需要花费一个小时来处理,因为这是50年的数据,至少18000多个小时的时间是多余的,是否有一种方式我可以运行&#39;而#39;片段多次并行

以下是代码

的工作示例
import requests
try:
    from BeautifulSoup import BeautifulSoup
except ImportError:
    from bs4 import BeautifulSoup

queryk = ['a', 'b', 'c', 'd', 'e','a', 'b', 'c', 'd', 'e','a', 'b', 'c', 'd', 'e','a', 'b', 'c', 'd', 'e']
i = len(queryk)
s = requests.session()
query_url = 'https://www.google.co.in/search?q='
while(i>0):
    r = s.get(query_url+queryk[-i])
    soup = BeautifulSoup(r.text)
    h3 = soup.find_all('h3')
    for q in h3:
        links = q.find_all('a')
        for a in links:
            print(a['href'])
    i = i-1

可以并行化循环吗?

0 个答案:

没有答案