V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
pythonfan
V2EX  ›  Python

如何优化爬虫能最快的抓取到商品信息?

  •  
  •   pythonfan · 2014-01-06 16:04:06 +08:00 · 4462 次点击
    这是一个创建于 3956 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在写一个小程序,目的是采集最新的商品列表,通过scrapy定时采集,但是遇到一个问题,从商品发布到最后被抓取到会有一段时间的间隔,希望能尽量缩短这个时间差,还有哪些办法能做一些优化呢? 商品从发布到前台缓存更新有一定的时间,缓存用的MemCache,目前时间设定为一分钟扫描一次。
    补充: 比如某个商品14:35发布更新了,我的爬虫14:38才会抓取到(这期间是每分钟整点都在抓取的)但是在我抓到之前,已经有人把商品抢拍了。。。也就是他的爬虫可能在14:36就已经抓到了。很纳闷,该如何优化才能像他那样及时的得到更新呢?
    第 1 条附言  ·  2014-01-06 23:06:18 +08:00
    做了两个测试
    1、发布一个新的商品,审核通过之后就可以在前台显示了,通过浏览器查看没有问题,列表已经有新的商品,但是爬虫却延迟了两分钟,22:01审核通过之后,22:03才抓取到,按理在22:02就应该抓取到了。难道用scrapy访问有缓存?还是哪里没设置好。。。

    2、之前抓取的服务器使用的国外服务器,然后同样用国内服务器试了一遍,发现还是先收到国外抓取成功的邮件提醒。。。
    11 条回复    2014-03-26 00:23:19 +08:00
    9hills
        1
    9hills  
       2014-01-06 16:13:46 +08:00
    既然你每分钟整点在抓,为什么商品14:35发布了,你14:38才会抓到呢?
    vbs
        2
    vbs  
       2014-01-06 16:22:53 +08:00
    秒杀?
    pythonfan
        3
    pythonfan  
    OP
       2014-01-06 16:32:51 +08:00
    @9hills 现在就是怀疑缓存的原因,导致前端搜索列表更新有延迟,否则没道理啊,每分钟我都去这个列表抓取一遍的,但是商品详情页面显示的发布时间跟我抓到的时间差了2,3分钟。。。
    pythonfan
        4
    pythonfan  
    OP
       2014-01-06 16:34:24 +08:00
    @vbs 嗯,类似的吧。
    xmover
        5
    xmover  
       2014-01-06 17:24:38 +08:00
    抓回来lz怎么解析入库?
    cooiky
        6
    cooiky  
       2014-01-06 17:39:53 +08:00
    @pythonfan 也可能是两边时间没统一
    pythonfan
        7
    pythonfan  
    OP
       2014-01-06 18:01:21 +08:00
    @xmover 直接用scrapy的api就可以了啊
    pythonfan
        8
    pythonfan  
    OP
       2014-01-06 18:01:51 +08:00
    @cooiky 这个倒是没考虑到,我测试看看。。。
    pythonfan
        9
    pythonfan  
    OP
       2014-01-06 23:08:33 +08:00
    @cooiky 测试过了,不是时间问题。。。
    tempdban
        10
    tempdban  
       2014-01-07 00:30:05 +08:00 via Android
    scrapy用的是django的orm
    dgango 的orm会缓存数据
    各种数据库驱动也会缓存数据
    keven
        11
    keven  
       2014-03-26 00:23:19 +08:00
    采集频率要更快
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1255 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:10 · PVG 07:10 · LAX 15:10 · JFK 18:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.