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

requests 的作者的新项目 requests-html

  •  1
     
  •   yangzhezjgs · 2018-02-28 12:05:36 +08:00 · 11532 次点击
    这是一个创建于 2495 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://github.com/kennethreitz/requests-html

    This library intends to make parsing HTML (e.g. scraping the web) as simple and intuitive as possible.

    When using this library you automatically get:

    -Full JavaScript support!
    -CSS Selectors (a.k.a jQuery-style, thanks to PyQuery).
    -XPath Selectors, for the faint at heart.
    -Mocked user-agent (like a real web browser).
    -Automatic following of redirects.
    -Connection – pooling and cookie persistence.
    -The Requests experience you know and love, with magical parsing abilities.

    对 requests 做了封装,添加了解析 html 的接口,总代码现在是 399 行,还在更新
    第 1 条附言  ·  2018-02-28 21:59:28 +08:00
    目前版本还不稳定,作者应该还在修改更新中,出现问题请稍安勿躁
    现在代码新增为 484 行(昨天我刚看到的时候是 200 多行)
    44 条回复    2018-05-27 21:31:45 +08:00
    cy97cool
        1
    cy97cool  
       2018-02-28 12:13:53 +08:00 via Android
    mark 先 star 为敬
    lhx2008
        2
    lhx2008  
       2018-02-28 12:24:06 +08:00 via Android
    把 pyquery 和 xpath 弄进来了,还有自动 useragent,是要一统江湖的节奏
    co3site
        3
    co3site  
       2018-02-28 12:30:45 +08:00 via Android
    观望中,先 star
    Sanko
        4
    Sanko  
       2018-02-28 12:33:37 +08:00 via Android
    orz
    prolic
        5
    prolic  
       2018-02-28 12:34:51 +08:00
    star 为敬,beautifulsoup 用着还是不够爽
    weiwio
        6
    weiwio  
       2018-02-28 12:35:31 +08:00 via Android
    今天看了一下,原来是新项目,很有希望啊
    fyyz
        7
    fyyz  
       2018-02-28 13:03:12 +08:00
    吊炸天
    tuding
        8
    tuding  
       2018-02-28 13:07:33 +08:00
    这个作者好腻害,好多牛逼项目
    steveway
        9
    steveway  
       2018-02-28 13:10:59 +08:00 via Android
    看作者就 star 系列
    lfzyx
        10
    lfzyx  
       2018-02-28 13:13:14 +08:00
    可以放弃 bs4 了?
    CSM
        11
    CSM  
       2018-02-28 13:17:17 +08:00
    期待有人封装 aiohttp
    sunwei0325
        12
    sunwei0325  
       2018-02-28 13:19:50 +08:00
    如果下载和解析分开异步进行就好了
    angelshq
        13
    angelshq  
       2018-02-28 13:30:06 +08:00
    mark
    Zzde
        14
    Zzde  
       2018-02-28 13:30:37 +08:00 via iPhone
    Mark
    find456789
        15
    find456789  
       2018-02-28 13:33:39 +08:00
    不太明白,这个 库 用来替代谁的?
    find456789
        16
    find456789  
       2018-02-28 13:42:28 +08:00
    请问这个库 是 requests+bs4 吗
    douglarek
        17
    douglarek  
       2018-02-28 13:59:00 +08:00   ❤️ 1
    xxx for humans 又来了?没有 xxx 之前莫不是大家都在吃猪食 ?
    soulmine
        18
    soulmine  
       2018-02-28 14:04:26 +08:00
    @find456789 大约看了下 大概类似于 requests+bs4+selenium/phantomjs 不过后面两个现在只是封装了一小部分功能 比如通过 css selector 解析或者执行 js 代码这种
    soulmine
        19
    soulmine  
       2018-02-28 14:05:00 +08:00
    @sunwei0325 你可以自己异步啊 比如用队列什么的
    hugo2lee
        20
    hugo2lee  
       2018-02-28 14:12:03 +08:00
    Only later versions of Python 3 are supported. 好评
    zhoulv2012
        21
    zhoulv2012  
       2018-02-28 14:46:06 +08:00
    都是实用的功能啊!
    knightdf
        22
    knightdf  
       2018-02-28 14:47:53 +08:00
    还可以解析 JS ?怎么感觉是个爬虫库了
    dqh3000
        23
    dqh3000  
       2018-02-28 15:12:37 +08:00
    哎呀呀呀呀?

    不错不错……这个好
    ioven
        24
    ioven  
       2018-02-28 15:19:41 +08:00
    https://github.com/scrapy/parsel 一直用的这货,re css xpath 用起来很爽
    Mavious
        25
    Mavious  
       2018-02-28 15:36:53 +08:00
    非程序猿表示非常感兴趣。requests 太好用了,太是适合我等毫无基础的小白了,轻松上手。
    sowish
        26
    sowish  
       2018-02-28 15:44:06 +08:00
    看了下,安装 requests-html 同时需要 bs4,lxml 等库,估计还是依赖于这些库
    ospider
        27
    ospider  
       2018-02-28 16:24:29 +08:00 via Android
    恕我直言,没看懂这个库存在的意义,lxml 足够好用了,重点是 xpath 这种东西应该存在配置里,而不是把解析逻辑写在代码里
    wfd0807
        28
    wfd0807  
       2018-02-28 17:43:24 +08:00
    Full JavaScript Support by Chromium headless mode.
    wfd0807
        29
    wfd0807  
       2018-02-28 17:44:01 +08:00   ❤️ 1
    the first time you ever run the render() method, it will download Chromium ...
    yech1990
        30
    yech1990  
       2018-02-28 17:46:02 +08:00
    399 行代码已经 4600 stars 了。

    ---

    另外作者现在摄影技术也逆天。
    yech1990
        31
    yech1990  
       2018-02-28 17:48:53 +08:00
    看依赖需要 bs4
    但代码中又没有出现?
    yangzhezjgs
        32
    yangzhezjgs  
    OP
       2018-02-28 17:54:48 +08:00
    @yech1990 这个应该是之前用了 bs4,后来又改用其他的,但是依赖里面没有去掉,因为昨天我看的时候代码才 200 行
    wellsc
        33
    wellsc  
       2018-02-28 17:55:51 +08:00 via iPad
    像是拯救世界
    tcpdump
        34
    tcpdump  
       2018-02-28 18:04:07 +08:00
    文档好多错误,跑不起来
    VicYu
        35
    VicYu  
       2018-02-28 18:12:52 +08:00
    for the horde
    abmin521
        36
    abmin521  
       2018-02-28 19:03:33 +08:00 via Android
    顶 k 神下
    Ginson
        37
    Ginson  
       2018-02-28 19:16:19 +08:00
    研究中。文档确实错误挺多
    Tutorial 第一行代码 from requests_html import HTMLSession 就报错,应该 import Session
    LINAICAI
        38
    LINAICAI  
       2018-02-28 19:21:12 +08:00 via iPhone
    明显是爬虫嘛……
    WildCat
        39
    WildCat  
       2018-02-28 19:43:43 +08:00
    感谢作者,正需求这样的库!



    @Ginson
    import HTMLSession 报错的原因是因为它会自动加载 fake_useragents.json,你的网络可能不能访问 cloudfront。
    认真读一秒报错提示吧。
    Ginson
        40
    Ginson  
       2018-02-28 20:10:09 +08:00
    @WildCat 谢谢,我还在研究。不过报错提示我实在没看出啥…
    WildCat
        41
    WildCat  
       2018-02-28 20:29:37 +08:00
    @Ginson 你这个应该也是同样的问题我觉得。。。
    换 jupyter lab/notebook 吧,命令行 IPython 还是有点不好用。
    jimmyye
        42
    jimmyye  
       2018-02-28 21:26:41 +08:00
    版本更新太快,所以用的时候要注意安装的版本和 Github 上的代码 commit 时间。
    pdog18
        43
    pdog18  
       2018-04-16 17:08:44 +08:00
    我想问下这个库可以将<script>标签里面的 js 代码快速转换成 python 对象吗?有什么办法吗?正好遇到这个问题。
    现在只能换成字符串强行切
    windcode
        44
    windcode  
       2018-05-27 21:31:45 +08:00
    目前已经 700 行代码,7700+ star,有没有人用过,感觉如何?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2627 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:24 · PVG 18:24 · LAX 02:24 · JFK 05:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.