1
mringg 2014-12-22 19:23:46 +08:00 via Android 1
你得监控下,看看你们的瓶颈在哪里,然后才能考虑怎么优化
|
2
andrewrong OP @mringg 目前我们测试发现爬取一个商品基本上要花3s,如果代理IP比较好的话就比较快;3s基本算是一个平均值;最后爬取的页面通过正则把要的内容取出然后存入数据库;现在是单进程所以代理IP还没充分的利用起来;
|
3
haker 2014-12-22 19:29:09 +08:00
拨号换IP呀!
|
4
andrewrong OP @haker 是公司,用拨号换IP可行吗?我在google的时候也有人提出,我不是很理解这个概念,是不是重新拨号IP就会换这个意思?
|
5
haker 2014-12-22 19:31:14 +08:00
看错了,你的是php的。
写客户端,拨号换ip,开50-100线程,没日没夜的爬 |
6
GeekGao 2014-12-22 19:31:17 +08:00
高效 可由不得你,电商网站都有反爬虫机制,你速度快起来了也够呛能提高爬取效率。
使用PHP的话也可以搞个多进程的爬虫,语言并不是什么太大问题。关键是你爬虫的调度策略。 |
7
andrewrong OP @GeekGao 你说的爬虫调度策略具体指什么?
|
8
haker 2014-12-22 19:33:20 +08:00
@andrewrong 重新拨号就会换ip,去电信申请多进程,可以各地政策不一样,我们这里可以申请到2个进程,就是一个猫同一个账号,两台机器可以同时进行拨号。
|
9
GeekGao 2014-12-22 19:38:15 +08:00
@andrewrong
什么时间爬什么内容什么时候暂停什么时候再开始 |
10
andrewrong OP @GeekGao 这个就要看taobao店的反爬机制来定了...哎...好纠结哇...
|
11
yakczh 2014-12-22 20:17:11 +08:00
随机间隔时间爬
|
12
tftk 2014-12-22 22:06:03 +08:00
3s有点慢。
|
13
xunyu 2014-12-22 22:22:32 +08:00
task做好,多任务分布式,单机循环肯定不行的,可以试试rabbitmq
|
14
nowgoo 2014-12-22 23:20:06 +08:00
购买阿里云最低配VPS。
|
15
ETiV 2014-12-22 23:46:00 +08:00
PHP 不知道有没有TCP连接的复用...可以检查一下, 要是每次爬完都close 了socket, 那应该用更底层的方式去做, 能快一些吧
|
16
binux 2014-12-22 23:55:00 +08:00 1
1. 如何高效的利用我们的代理IP(不是很多),又不被淘宝封(这个希望能比较详细点)?
想让马跑又不让马吃草。。唯一的办法就是挖掘每个IP的抓取极限,看看多大的速度不会被封。另外一种办法就是找更多的代理。 2. 我们现在这套PHP架构是否合适做这个爬虫,如果不适合,能不能建议一下? 取决于瓶颈在被封,还是处理速度。如果你没有足够的IP,无法提高速度,语言或者架构是无法为你带来提升的。反之,瓶颈不再是怕被封的话。使用异步抓取,多进程解析能进一步提高性能。而 PHP 这么好的语言,我不知道行不行。 3. 我在网上看到有人提出应该有一个反监控系统用来检测对方的反爬的变化,并且做出相应的调整,有人做过这个东西吗? 这东西还是靠更多经验,你就抓一个淘宝,而且没有那么多IP资源让你折腾的话,手动搞一个流量限制就好了。由于抓取延迟长达3秒,细的特征实际上一点用都没有。就是 UA+cookie+每分钟流量控制就完了。 最后广告一下: https://github.com/binux/pyspider 异步,带流量控制,多进程带 WEBUI 的爬虫 |
18
sohoer 2014-12-23 08:45:59 +08:00
淘宝商品数量级使用代理怕是不靠普
多线ADSL+自动重拔(有偿提供方案) |
19
andrewrong OP @binux 谢谢binux那么详细的回答,给了我那么多的建议;我会去思考你说的这些的方面的...其实代理IP可以申请,但是我也要最大化每一个代理IP的利用率...
|
20
crazycookie 2014-12-23 12:46:07 +08:00
scrapy 记得打开cookies,还是不错的... 多ip的策略人工打码啊
|
21
benjiam 2014-12-23 20:15:38 +08:00 via Android
难度在对方对你的屏蔽
|
22
andrewrong OP @benjiam 现在考虑的最多的也就是这个问题....
|
23
fewspider 2014-12-25 11:09:35 +08:00 via Android
Python beautifulSoup + gevent并发路过
|