目录css
requests-html 是基于现有的框架 PyQuery、Requests、lxml、beautifulsoup4等库进行了二次封装,做者将Requests设计的简单强大的优势带到了该项目中。html
GiHub项目地址:https://github.com/kennethreitz/requests-htmlgit
pip install requests-html
from requests_html import HTMLSession session = HTMLSession() # 发出GET请求: resposse = session.get('http://news.qq.com/')
#按原样获取页面上全部连接的列表(不包括锚点): print(r.html.links) #输出内容:{'http://www.mohrss.gov.cn/', 'http://www.dahe.cn/', ......}
# 以绝对形式抓取页面上全部连接的列表(锚点除外): print(r.html.absolute_links) #输出内容:{'http://new.qq.com/omn/20180630A0L1ED.html', 'http://news.qq.com/a/20180624/001511.htm', 'http://new.qq.com/omn/20180630A12MEU.html', ......}
# 使用CSS选择器选择第一个元素: title = r.html.find('.f14>a', first=True).text print(title) # 输出内容:重磅!2018年版自贸试验区外资准入负面清单出炉 #注意:first=True的意思是获取第一个元素,若是不加上就是获取全部的符合的元素
# attrs 获取元素的全部属性: title = r.html.find('.f14>a', first=True) print(title.attrs) # 输出内容:{'target': '_blank', 'class': ('linkto',), 'href': 'http://new.qq.com/omn/FIN2018063001805300'}
# 获取元素的html: title = r.html.find('.f14>a', first=True) print(title.html) # 输出内容:<a target="_blank" class="linkto" href="http://new.qq.com/omn/FIN2018063001805300">重磅!2018年版自贸试验区外资准入负面清单出炉</a>
# 搜索元素内的连接: title = r.html.find('.f14>a', first=True) print(title.absolute_links) # 输出内容:{'http://new.qq.com/omn/FIN2018063001805300'}
# 在页面上搜索文字: title = r.html.search('重磅!{}年版自贸试验区外资准入负面清单出炉')[0] print(title) # 输出内容:2018
# XPath路径定位元素 title = r.html.xpath('//div[@class="text"]/em/a/text()')[0] print(title) # 输出内容:重磅!2018年版自贸试验区外资准入负面清单出炉
from requests_html import HTML doc = """<a href='http://news.qq.com/'>""" html = HTML(html=doc) print(html.links) # 输出内容:{'http://news.qq.com/'}
# 实例:获取腾讯新闻的标题和连接 from requests_html import HTMLSession session = HTMLSession() r = session.get("http://news.qq.com/") # 经过CSS找到新闻标签 news = r.html.find('.f14>a') for new in news: print(new.text) # 新闻标题 print(new.absolute_links) # 新闻链接 # 输出内容: # 重磅!2018年版自贸试验区外资准入负面清单出炉 # {'http://new.qq.com/omn/FIN2018063001805300'} # 津巴布韦7月1日起对中国游客实行落地签证政策 # {'http://news.qq.com/a/20180630/019314.htm'} # 侠客岛:据说特朗普要见普京?这首歌送给他们 # {'http://new.qq.com/omn/20180630A1GASD00'} # 高等教育史上大动做:工科生“土”帽子要摘了 # {'http://new.qq.com/omn/20180630G07FLY00'} # 日本小型火箭升空后4秒坠毁爆炸 现场火光冲天 # {'http://new.qq.com/omn/20180630V157BT00'} # 洞庭湖“私家湖泊”新进展:铲除非法堤坝 # {'http://new.qq.com/omn/20180630A0ILA600'} # 讨论很热烈!个税法修订征求意见数已超1.3万条 # {'http://new.qq.com/zt/template/?id=FIN2018061901656900'}