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
byron
V2EX  ›  Python

糗百命令行版:最近学习正则表达式,抛弃了bs4,写了这么一个小爬虫,爬了糗百最近7天热门的糗事儿

  •  
  •   byron · 2013-09-08 23:35:38 +08:00 · 6408 次点击
    这是一个创建于 4123 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请多多指教:http://jiabin.tk/2013/09/08/qiubai-regex/
    26 条回复    1970-01-01 08:00:00 +08:00
    vibbow
        1
    vibbow  
       2013-09-09 04:13:39 +08:00
    我觉得直接抓包android版的API更具有可行性......
    byron
        2
    byron  
    OP
       2013-09-09 07:46:13 +08:00 via iPhone
    @vibbow 这点儿还没睡?
    我目前就会做个简单的爬虫,像抓包什么的api什么的安卓什么?的,实在是心有余而力不足啊。
    Gawie
        3
    Gawie  
       2013-09-09 08:32:20 +08:00
    同样学习python爬虫中~~~
    missdeer
        4
    missdeer  
       2013-09-09 08:37:06 +08:00
    整天只用ssh登录控制台使用机器的表示感谢!
    Ansen
        5
    Ansen  
       2013-09-09 08:44:34 +08:00   ❤️ 1
    python新新手学习了,
    roricon
        6
    roricon  
       2013-09-09 12:46:02 +08:00
    用scrapy呗。很好的爬虫框架,简单易用。
    说实话,用re直接处理html实在是太痛苦了。
    用scrapy可用它内建的XPathSelector。
    不想用框架的话可以用beautifulsoup。
    byron
        7
    byron  
    OP
       2013-09-09 12:55:07 +08:00
    @roricon
    嗯,谢谢
    scrapy没了解过,待我了解了解。
    之前用过bs4,但是它的原理也是转换成正则
    效率会差很多
    直接正则+编译 会快很多
    yanwen
        8
    yanwen  
       2013-09-09 12:55:40 +08:00
    py 3 可以用??
    byron
        9
    byron  
    OP
       2013-09-09 13:21:54 +08:00
    @yanwen 我是用py 2X写的。
    如果要在py 3上使用估计要改动不少地方
    比如:
    print
    raw_input 想关联的地方等等
    itfanr
        10
    itfanr  
       2013-09-10 09:48:35 +08:00
    @vibbow 安卓版怎么抓?
    vibbow
        11
    vibbow  
       2013-09-10 10:51:35 +08:00
    @itfanr 模拟器 + WireShark
    chunchu
        12
    chunchu  
       2013-09-10 11:06:24 +08:00
    为什么我看到的是乱码?
    byron
        13
    byron  
    OP
       2013-09-10 11:48:54 +08:00
    @chunchu
    你是在win下看的吧?
    win下建议用python自带的IDLE,把编码改成#coding:cp936
    cmd是会乱码的。
    zhttty
        14
    zhttty  
       2013-09-10 12:26:26 +08:00
    写的不错,可以用...不过有些内容会被截断,就是一句完整的话有部分不见了...

    不过建议作者可以将图片链接也抓出来,保存成形如 [http://xxx.jpg] 形式,这样可以复制链接在浏览器上看。
    csx163
        15
    csx163  
       2013-09-10 12:39:13 +08:00
    我记得他的RSS有当日热门的
    byron
        16
    byron  
    OP
       2013-09-10 12:43:49 +08:00
    @zhttty
    可以把截断的糗事儿反馈给我么?
    这里或者gist都可以。
    zhttty
        17
    zhttty  
       2013-09-10 15:42:33 +08:00
    @byron

    截断的那几句话找不到了,好像跟一些表情符号有关。
    spark
        18
    spark  
       2013-09-11 12:16:16 +08:00 via iPhone   ❤️ 1
    楼主可以尝试Pyquery
    vicence
        19
    vicence  
       2013-09-11 19:12:00 +08:00
    @byron 有vim版的qiushibaike.vim
    pandada8
        20
    pandada8  
       2013-09-11 21:19:06 +08:00 via Android
    @byron
    bs4基于正则 嗯 are you sure?bs4是基于dom的吧
    如果觉得慢的话可以使用lxml + bs4的组合
    soup = BeautifulSoup(html,“lxml”)
    #如果我没记错的话
    fengyuanjs
        21
    fengyuanjs  
       2013-09-11 23:22:23 +08:00
    在oschina也看到楼主发了
    byron
        22
    byron  
    OP
       2013-09-11 23:27:43 +08:00
    @fengyuanjs
    刚学编程,发出来要大伙儿帮我多瞅瞅代码。
    在oschina那里被抓到不少bug,O(∩_∩)O哈哈~
    byron
        23
    byron  
    OP
       2013-09-11 23:29:04 +08:00
    @pandada8 我记得我是看的一篇博客的,具体原理我还真不懂。
    pacino
        24
    pacino  
       2013-09-17 22:26:28 +08:00
    @byron windows下改了编码仍然显示为乱码
    guangwong
        25
    guangwong  
       2013-09-18 01:40:16 +08:00
    pyquery、phantomjs、pyv8這些厙多好 = =。
    Crossin
        26
    Crossin  
       2013-09-18 01:46:08 +08:00 via Android
    这不是byron嘛,来顶你一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5233 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:48 · PVG 11:48 · LAX 19:48 · JFK 22:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.