surepj 发表于 2022-3-11 09:19

【Python】-[初学笔记]-在列表搜索指定内容,并返回结果(爬虫应用)

列表,及xpath,requests爬虫的应用练习。

import requests
from lxml import etree

url = 'https://www.bilibili.com/v/popular/rank/all'
resp = requests.get(url)
html = etree.HTML(resp.text)
titles_list = html.xpath('//*[@id="app"]/div/div/div/ul/li/div/div/a/text()')

key_words = '朋友'# 自定义搜索关键词,空字符则显示所有
if key_words in str(titles_list):
    searched = # 从标题列表中找到包含关键词的内容,并创建到新列表里
    print(f'关于"{key_words}",找到以下结果:\n排名 / 标题 / 热度 / 链接')
    for i in range(len(searched)):
      index = titles_list.index(searched)
      rank = (html.xpath('//*[@id="app"]/div/div/div/ul/li/div/div/i/span/text()'))
      title = searched
      hot = ((html.xpath('//*[@id="app"]/div/div/div/ul/li/div/div/div/div/span/text()'))).strip()
      href = (html.xpath('//*[@id="app"]/div/div/div/ul/li/div/div/a/@href'))
      print(rank, title, hot, "https:" + href)
else:
    print(f'没有找到关于"{key_words}"的相关内容。')

运行效果如下:
关于"朋友",找到以下结果:
排名 / 标题 / 热度 / 链接
21 【我给朋友买了块墓地】结果烂尾了!! 168.1万 https://www.bilibili.com/video/BV1n44y1M7E3
55 女朋友让我穿最贵的衣服陪她逛商场。。 359.1万 https://www.bilibili.com/video/BV1Ua411h7P2
66 【特鲁索娃】祝女性朋友们节日快乐 45.6万 https://www.bilibili.com/video/BV1DU4y1f7QT
97 小朋友天性纯良?罗翔老师:我呸! 95.5万 https://www.bilibili.com/video/BV1ML411K7U2

lypxynok 发表于 2022-3-11 09:28

感谢,学习学习python

MP5Y 发表于 2022-3-11 09:40

学习了,之前都用的是BS4。

唯爱丶雪 发表于 2022-3-11 11:10

写得很棒,鼓励

studentguo 发表于 2022-3-11 19:11

学习。。。

hdx001 发表于 2022-3-12 09:17

不错,学习一下

lxyyangyang 发表于 2022-3-12 09:25


感谢,正好能用到的小案例!

FireMeteor 发表于 2022-3-23 10:12

楼主您好,我上周发了个python自动报体温的悬赏贴,请问您可以把您测试的服务给停止吗,现在每天还在运行:'(weeqw

surepj 发表于 2022-3-23 10:30

FireMeteor 发表于 2022-3-23 10:12
楼主您好,我上周发了个python自动报体温的悬赏贴,请问您可以把您测试的服务给停止吗,现在每天还在运行:' ...

???
我没有在给你提交什么东西啊!

FireMeteor 发表于 2022-3-23 10:32

surepj 发表于 2022-3-23 10:30
???
我没有在给你提交什么东西啊!

那就好,我再问问别人:'(weeqw
页: [1] 2
查看完整版本: 【Python】-[初学笔记]-在列表搜索指定内容,并返回结果(爬虫应用)