标签: python asynchronous web-scraping
我需要打开和刮掉630,220个网址。这些网址本身已被刮掉,并且抓取它们要容易得多,因为每个页面都会返回3,500个网址。
要抓取这些630,220个网址,我目前正在使用线程在Python中进行并行抓取。使用16个线程,刮取200个网址需要51秒。因此,我需要花费44个小时来清除所有630,220个网址,这似乎是一种不必要的耗时且非常低效的方法来处理这个问题。
假设服务器不会过载,有没有办法异步发送每秒1000个请求的内容?这样可以将总刮削时间缩短到大约10分钟,这是非常合理的。
答案 0 :(得分:0)
使用gevent。启用Python标准库的猴子修补,并使用您最喜欢的报废库 - 用1000个greenlet替换线程做同样的事情。而且你已经完成了。