import requests
from lxml import etree
if name=='main':
header = {
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100098 Firefox/89.0'
}
url='https://www.bilibili.com/v/popular/history'
r=requests.get(url=url,headers=header).text
tree=etree.HTML(r)
title_list=tree.xpath('//div[@class="card-list"]/div')
for div in title_list:
title_data=title_list.xpath('/div/div[2]/p/text()')[0]
title_name=requests.get(url=title_data,headers=header).text
with open('bilibili.txt','w','utf-8') as fp:
fp.write(title_name)
print(title_name)
因为页面数据是js动态加载的,无法用代码中的方法解析到数据,可以通过开发者工具F12切换到XHR下找到相关数据链接,post请求获取json数据再解析。
如有帮助,望采纳。
能用代码块的方式发吗,缩进全乱了