python - 从python中的url列表中提取数据时,多处理不起作用
问题描述
我正在尝试从存储在本地文本文件中的 url 列表中提取数据。代码运行完美但速度很慢,所以我应用了 Multiprocessing,如下所述。
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()
即使在应用多进程之后,它的运行方式也和以前一样,请任何人帮助我。
解决方案
推荐阅读
- python - 用随机数填充 Excel 单元格
- excel - 如何在 Excel 文件中向用户隐藏信息?
- excel - 我可以在 excel 中使用 VBA 来根据单元格中的字母保持累积总数,并且该单元格以黄色突出显示吗?
- node.js - Chrome 节点检查器导致代码执行方式不同?
- questdb - QuestDb 中时间间隔之间的差异
- java - Springboot Keycloak Admin添加角色或重置密码错误
- python - Create Matrix (as in 2 way table) from 3-column pandas DataFrame
- rust - 无法将函数移动到另一个文件中?
- python - 单击x按钮时如何隐藏/最小化窗口
- python - 从 Spyder 变量探索中删除默认变量