定向爬虫规则管理问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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
lazybios

定向爬虫规则管理问题

  •  
  •   lazybios Feb 19, 2014 3769 views
    This topic created in 4449 days ago, the information mentioned may be changed or developed.
    情景:针对目标网站内容,写了特定的爬虫脚本,爬取规则是通过正则之类的字符串匹配,比较得到的

    问题:如果目标网站更改了前端代码,还要重新分析改写脚本规则,这些规则都是硬编码到脚本中的,有没有优雅高效的方法来管理规则,做到规则与脚本逻辑分离 或者是否有其它好的的爬法?

    另外如果有相关可参考的开源代码麻烦贴一下地址 :)
    6 replies    1970-01-01 08:00:00 +08:00
    tonyseek
        1
    tonyseek  
       Feb 19, 2014   1
    [这样写](http://brownant.readthedocs.org/en/0.1.4/userguide/quickstart.html#the-declarative-demo)如何?

    Brownant 是我在维护的的一个项目,解决的主要就是定向爬虫。爬虫规则通过定制的 `PipelineProperty` 描述性地写在类里,和 Homebrew 的那种方式有点像。
    lazybios
        2
    lazybios  
    OP
       Feb 19, 2014
    @tonyseek
    我好研究研究去
    有次不知道在哪里看到一个帖子,说的大概是用xml配置,来解决的,每次规则过时以后只需要调整xml就可以了,感觉这样比较省事,当时没有写这方面的程序,所以只记住了点大概思路,后面的细节就断篇了...
    family
        3
    family  
       Feb 20, 2014 via iPhone
    配置在数据库
    yakczh
        4
    yakczh  
       Feb 20, 2014
    下载,抽取链接放到队列里这都是一样的,不一样的是抽取数据部分,这部分可以把解析代码当成配置数据, 根据不同站点不同url规则动态载入, python怎么样传入一段字符串的代码eval动态执行 ,不过这比较丑陋,有没有优雅一点的方法?
    yaotian
        5
    yaotian  
       Feb 20, 2014
    配置文件,抓不到了,收到邮件。所有规则都配置文件,修改配置文件,自动生效。见我的lumeinv.com (上班期间要小心)
    tonyseek
        6
    tonyseek  
       Feb 21, 2014
    @lazybios XML 或者其他方式的静态配置写定向爬虫貌似不是很灵活,比如某个标签的内容需要过滤掉一些文本,或者在出现某些文本的时候抛出指定的异常,静态的配置就完全无力了。又或者你需要抓取的网站用 AJAX 来载入部分信息,你可以就要在一次抓取中多次走 请求-抽取 的过程,这也是为何我之前遇到类似需求,没有直接用 Scrapy 的原因。
    About     Help     Advertise     Blog     API     FAQ     Solana     1035 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 23:08 PVG 07:08 LAX 16:08 JFK 19:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86