用xpath写一个b站爬虫
时间: 2023-08-19 14:04:02 浏览: 147
好的,下面是一个使用Python和XPath爬取B站视频数据的简单示例:
```python
import requests
from lxml import etree
# 设置请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 定义一个函数,用于获取B站视频列表信息
def get_bilibili_videos():
# 构造URL
url = 'https://search.bilibili.com/all?keyword=python&page=1'
# 发送请求
response = requests.get(url, headers=headers)
# 解析HTML
html = etree.HTML(response.text)
# 获取视频列表
video_list = html.xpath('//ul[@class="video-list clearfix"]/li')
# 遍历视频列表,获取视频信息
for video in video_list:
title = video.xpath('.//a[@class="title"]/text()')[0]
author = video.xpath('.//a[@class="up-name"]/text()')[0]
play_num = video.xpath('.//span[@class="so-icon watch-num"]/text()')[0]
danmu_num = video.xpath('.//span[@class="so-icon hide"]/text()')[0]
print(title, author, play_num, danmu_num)
# 调用函数,获取B站视频列表信息
get_bilibili_videos()
```
这个示例中,我们通过构造URL,发送请求,解析HTML,并使用XPath表达式来获取B站视频列表中的视频信息。你可以根据自己的需求修改XPath表达式来获取其他信息。另外,为了防止被反爬虫,我们还设置了请求头。
阅读全文