python爬虫需要安装额外的包requests_html解析器,官网地址为(http://html.python-requests.org/)
使用pip命令安装requests_html,打开终端输入:
pip3 install requests_html
有时可能pip版本过低会报错,安装不上requests_html,可以使用下面命令升级pip至最新版本
python -m pip install --upgrade pip
requests_html安装完成之后就可以进行网页数据获取了
from requests_html import HTMLSession
session = HTMLSession()
url = 'http://quote.eastmoney.com/stock_list.html'
h = session.get(url)
h.html.text -> 获取网页文本内容
h.html.html -> 获取网页内容
h.html.links -> 获取网页中包含的所有的链接(相对地址)
h.html.absolute_links -> 获取网页中包含的所有的链接(绝对地址)
#CSS语法获取元素
h.html.find('img') -> 获取所有img标签
h.html.find('img', first=True) -> 获取第一个img标签
#获取标签的属性
elements = h.html.find('a', first=False)
for e in elements:
print(e.attrs['href'])
from requests_html import HTMLSession
session = HTMLSession()
url = 'https://www.jianshu.com/u/1f9e71a85238'
requests = session.get(url=my_url)
titles = requests.html.find('a.title')
for i,title in enumerate(titles):
print(f'{i+1} {title.text}:https://www.jianshu.com{title.attrs["href"]}')
from requests_html import HTML
doc = ''
#读取本地书签文件
with open('C:/Users/Desktop/bookmarks.html', encoding='utf-8') as f:
doc = f.read()
#创建HTML对象
html = HTML(html=doc)
titles = html.find('a')
#读取书签链接并格式化输出markdown链接,[text](link)
for i,title in enumerate(titles):
print(f'[{title.text}]({title.attrs["href"]})')