Requests-HTML解析HTML的Python库

HTML Parsing for Humans, 这句话是库作者(kennethreitz)原话, 提现出了这个库的人性化, 而近来作者出品了一个更加人性化的库,他就是Requests-HTML。

需要提示一下:目前requests-html只支持python3.6及以上版本。

首先需要安装此模块

pip install requests-html

获取首页:

>>> fromrequests_html import HTMLSession

>>> session= HTMLSession()

>>> data = session.get('http://www.baidu.com')

获取所有连接:

 print(data.html.links)

获取的结果如下:

{'http://wenku.baidu.com/search?word=&lm=0&od=0&ie=utf-8','http://tieba.baidu.com', 'http://home.baidu.com','http://www.baidu.com/duty/','http://v.baidu.com/v?ct=301989888&rn=20&pn=0&db=0&s=25&ie=utf-8&word=','http://xueshu.baidu.com', 'http://news.baidu.com/ns?cl=2&rn=20&tn=news&word=','http://e.baidu.com/?refer=888',…}

# 由于这里连接较多在这里仅仅粘贴一部分

获取所有绝对地址

print(data.html.absolute_links)

获取的结果如下:

{'http://ir.baidu.com','http://wenku.baidu.com/search?word=&lm=0&od=0&ie=utf-8','http://news.baidu.com', 'http://xueshu.baidu.com', 'http://tieba.baidu.com','https://www.baidu.com/more/',

{'https://www.csdn.net/nav/iot','http://blog.csdn.net/sfM06sqVW55DFt1', ... ,}

# 由于这里连接较多在这里仅仅粘贴一部分

使用bs4 css选择器
 
>>>element = data.html.find('#su')

>>>print(element.text)

使用xpath
 
element = data.html.xpath('//input[@id="su"]')
使用文本
 
element = data.html.find('a[name="tj_trnews"]')[0]
text = element.text
获取元素属性
 
>>>attrsr = element.attrs['name']

Print(attrsr)

HTML转换为markdown:

>>>print(about.markdown)

 

*[About](/about/)

 

  * [Applications](/about/apps/)

  * [Quotes](/about/quotes/)

  * [Getting Started](/about/gettingstarted/)

  * [Help](/about/help/)

  * [PythonBrochure](http://brochure.getpython.info/)

# 这里粘贴了作者的例子, CSDN上获取的没有这个例子清晰

最后附上GitHub原创作者的文章链接:https://github.com/kennethreitz/requests-html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python requests-html是一个用于解析HTML网页的库。它提供了类似于requests库的功能,使得爬取和解析网页变得更加方便。使用requests-html库,你可以发送HTTP请求并获取网页内容,然后使用解析器来提取感兴趣的数据。这个库的使用方法非常简单,你只需要导入HTMLSession类,创建一个会话对象,然后使用get方法获取网页内容。接着,你可以使用类似于BeautifulSoup的语法来解析网页。 如果你想通过单线程实现requests-html的基本逻辑,你可以按照如下代码进行操作:首先导入HTMLSession类,然后创建一个会话对象。接着,你可以使用一个for循环来遍历需要爬取的页面。在每次循环中,使用get方法获取页面的内容。接着,你可以使用find方法来查找页面中感兴趣的元素,并提取出相应的数据。最后,你可以将提取的数据保存到文件中。 总结来说,Python requests-html是一个功能强大的库,可以用于爬取和解析HTML网页。它使用简单,提供了类似于requests库的功能,同时还具备了一些解析HTML的特性。如果你需要爬取和处理网页数据,requests-html是一个不错的选择。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【Python技能树共建】requests-html库初识](https://edu.csdn.net/skill/python/python-7d8a025ed5434ecc84708407e3db6d17)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [python爬虫 requests-html的使用](https://download.csdn.net/download/weixin_38503483/14839001)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值