最近需要爬一些新闻,目前一秒钟只能爬取+处理+入库两个页面,感觉还是太慢,想问问大家,爬虫速度优化的基本思路和基本原则是什么?
目前有做的,就是开协程( gevent ),网络请求全部用协程跑,其他没有特别的优化。
可能可以优化的地方:需要频繁的写 log,可能会花时间;上多线程或者多进程。
1
eq06 2019-11-03 10:46:30 +08:00
你构造 HTTP 请求用的什么模块?
|
3
binux 2019-11-03 10:56:30 +08:00 via Android
别可能,看数据资源花哪了
|
4
lhx2008 2019-11-03 11:05:08 +08:00 via Android
多线程就行,后面有代理池再考虑协程吧。
|
8
vhysug01 2019-11-03 13:35:39 +08:00 via iPad
试试 scrapy,如果这个爬的快,那得考虑下自己代码问题了
|
9
yufeng0681 2019-11-03 22:47:58 +08:00 1
上多线程
1.多线程去获取新闻,存本地队列 2.多线程处理队列内容入库。最好批量入数据库,节省数据库操作 |
11
pompeii OP @yufeng0681 #9 感谢提供思路
|