Я пытаюсь извлечь данные из списка URL-адресов, хранящихся в локальном текстовом файле.Код работает отлично, но очень медленно, поэтому я применил многопроцессорность, как указано ниже.
import requests
from lxml import html
import pandas as pd
from pandas import ExcelWriter
from multiprocessing import Pool
filepath = open('d:\links.txt', 'r')
allnames = list()
alltitles = list()
def extractm():
for ii in filepath:
geturl = requests.get(ii)
soup = html.fromstring(geturl.content)
names = soup.xpath("//dt[contains(text(),'Corresponding Author')]//following::dd//text()[1]")
titles = soup.xpath('//body//title//text()')
for (name, title) in zip(names, titles):
allnames.append(name)
alltitles.append(title)
fullfile = pd.DataFrame({'Names': allnames, 'Title': alltitles})
writer = ExcelWriter('D:\\data.xlsx')
fullfile.to_excel(writer, 'Sheet1', index=False)
writer.save()
if __name__ == '__main__':
pp = Pool(10)
pp.apply_async(extractm())
pp.close()
pp.join()
Даже после применения многопроцессорности он работает так же, как и раньше, пожалуйста, помогите мне в этом.