吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2650|回复: 14
收起左侧

[Python 转载] 【Python】-初学笔记-B站热门视频排行爬虫(re和xpath方法)

  [复制链接]
surepj 发表于 2021-12-20 09:57
初学了点Python爬虫,看什么都想爬一爬,但又一想,爬了干嘛呢?
感觉re正则的表达,和xpath比较易懂一点。就是模板上套一套内容
BeautifulSoup没搞懂,欢迎大家再搞个bs4版的,学习学习。

re版:
[Python] 纯文本查看 复制代码
import requests,re

url = 'https://www.bilibili.com/v/popular/rank/all'
resp = requests.get(url)
page_content = resp.text
resp.close()
obj = re.compile(r'data-rank="(?P<rank>.*?)" class="rank-item">.*?<div class="img"><a href="(?P<href>.*?)" target=.*?class="title">(?P<title>.*?)</a>.*?alt="play">.*?(?P<hot>.*?)</span>',re.S)
result = obj.finditer(page_content)
count = 0
for i in result:
    rank = i.group('rank')
    title = i.group('title').strip()
    hot = i.group('hot').strip()
    href = i.group('href')
    print(rank,title,hot,'https:'+href)
    count += 1
    if count >= 20:  # 展示的数量
        break
print('done')


xpath版:
[Python] 纯文本查看 复制代码
import requests
from lxml import etree

url = 'https://www.bilibili.com/v/popular/rank/all'
resp = requests.get(url)
resp.close()
html = etree.HTML(resp.text)
lists = html.xpath('//*[@id="app"]/div/div[2]/div[2]/ul/li')[0:20]  # 展示的数量
for i in lists:
    rank = i.xpath('./div/div[1]/i/span/text()')[0]
    title = i.xpath('./div/div[2]/a/text()')[0]
    hot = "".join(i.xpath('./div/div[2]/div/div/span[1]/text()')).strip()
    href = i.xpath('./div/div[2]/a/@href')[0]
    print(rank,title,hot,"https:" + href)
print('done')


运行效果:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
kanmanli 发表于 2021-12-20 15:13
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| surepj 发表于 2021-12-20 19:24
松仔 发表于 2021-12-20 13:20
invalid syntax  小白太难了

这是语法报错,我这边运行没有显示报错。是不是什么第三方库没安装,就是 import后的库
nidiexixi 发表于 2021-12-20 10:09
t1r0 发表于 2021-12-20 10:38
可以在升级一下,做个多线程快速处理
LYKDR 发表于 2021-12-20 10:53
新手表示能看得懂这个代码
 楼主| surepj 发表于 2021-12-20 10:56
t1r0 发表于 2021-12-20 10:38
可以在升级一下,做个多线程快速处理

还不会多线程处理,不过数据也不多
 楼主| surepj 发表于 2021-12-20 10:58
LYKDR 发表于 2021-12-20 10:53
新手表示能看得懂这个代码

一起学习学习,哈哈
Atomhua 发表于 2021-12-20 11:11
一起学习学习,哈哈
jjl 发表于 2021-12-20 11:55
学习支持一下
ZHANchenggu 发表于 2021-12-20 12:09
一起学习,共同进步
xyzbrave 发表于 2021-12-20 12:10
学习支持一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表