给定的名单刮数据我写的,从网站(100个链接)来访问给定列表擦伤信息的程序。目前,我的程序依次执行此操作;即一次检查一个。我的程序框架如下。线程加快从网站
for j in range(len(num_of_links)):
try: #if error occurs, this jumps to next of the list of website
site_exist(j) #a function to check if site exists
get_url_with_info(j) #a function to get links inside the website
except Exception as e:
print(str(e))
filter_result_info(links_with_info) #function that filters result
不用说,这个过程非常缓慢。因此,是否有可能实现线程化,以便我的程序可以更快地处理作业,以便4个并发作业分别删除链接列表25。你能否提供一个关于我如何做到这一点的参考?
您的列表可能包含同一网站上的很多链接吗?如果是这样,你应该放慢你的抓取速度并且不要加快速度,而不这样做可能会出现单个目标,就像拒绝服务尝试一样。 – halfer
如果这些站点全都不同,并且您使用的是卷曲,那么请查看“cURL multi”功能,该功能可让您以并行方式启动多个HTTP操作。一个人可以在PHP中做到这一点,所以我保证Python也允许它(它是相同的底层库)。 – halfer
@halfer你是对的。我应该在某个网站上完成抓取速度的某种阈值(我不知道如何)。是的,列表中的网站都有不同的内容。这个想法是在列表中的所有网站上获得一定的信息。目前,我的程序在4分钟内完成所有网站的搜索。我只是觉得我可以加快速度。感谢您指出cURL多。我会看看。 – JPdL