python爬取b站评分
时间: 2023-08-21 10:04:59 浏览: 116
你可以使用Python来爬取B站视频的评分信息。以下是一个简单的示例代码,使用了requests和BeautifulSoup库来发送HTTP请求和解析HTML页面:
```python
import requests
from bs4 import BeautifulSoup
# 定义要爬取的视频链接
url = 'https://www.bilibili.com/video/av12345678'
# 发送HTTP请求获取页面内容
response = requests.get(url)
# 解析HTML页面
soup = BeautifulSoup(response.text, 'html.parser')
# 查找评分元素
rating_element = soup.find('span', class_='score')
# 获取评分值
rating = rating_element.text
print('视频评分:', rating)
```
请注意,你需要将代码中的`url`替换为你要爬取评分的B站视频链接。另外,这只是一个简单的示例,实际爬取过程可能会涉及到更多的处理和异常处理。此外,尽量遵守网站的爬虫规则,不要过度请求或对服务器造成负担。
相关问题
python爬取大众点评美食
你可以使用Python编写爬虫程序来爬取大众点评上的美食数据。以下是一个简单的示例程序:
```python
import requests
from bs4 import BeautifulSoup
def crawl_dianping():
url = "https://www.dianping.com/search/category/2/10"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36"
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
restaurants = soup.find_all("div", class_="txt")
for restaurant in restaurants:
name = restaurant.find("h4").text.strip()
score = restaurant.find("span", class_="comment-list").find("b").text.strip()
print("店名:", name)
print("评分:", score)
print("--------------------")
crawl_dianping()
```
这个程序使用了`requests`库发送HTTP请求,并使用`BeautifulSoup`库解析HTML页面。程序中的`url`是大众点评美食分类的URL,你可以根据需要修改URL来爬取其他分类的数据。
注意:在实际使用爬虫时,请遵守网站的爬虫规则,并合法、合理地使用爬虫技术。
python爬取大众点评代码
由于大众点评有反爬虫机制,所以直接爬取可能会被封IP,建议使用代理IP和随机User-Agent来进行爬取。以下是一个简单的爬取大众点评店铺信息的代码示例:
```python
import requests
from bs4 import BeautifulSoup
import random
import time
# 设置请求头,包括User-Agent和Referer
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',
'Referer': 'http://www.dianping.com/',
}
# 设置代理IP
proxies = {
'http': 'http://127.0.0.1:1080',
'https': 'https://127.0.0.1:1080',
}
# 设置爬取的城市和分类
city = '上海'
category = '美食'
# 设置爬取的页数
pages = 10
for i in range(1, pages+1):
# 构造请求URL
url = 'http://www.dianping.com/{0}/{1}/p{2}'.format(city, category, i)
# 发送请求
response = requests.get(url, headers=headers, proxies=proxies)
# 解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 获取店铺列表
shop_list = soup.find_all('div', {'class': 'txt'})
# 遍历店铺列表,提取店铺信息
for shop in shop_list:
# 店名
name = shop.find('div', {'class': 'tit'}).find('a').text.strip()
# 评分
rating = shop.find('span', {'class': 'comment-list'}).find('b').text.strip()
# 评论数
review_count = shop.find('span', {'class': 'comment-list'}).find_all('a')[1].text.strip()
# 人均消费
avg_price = shop.find('span', {'class': 'mean-price'}).text.strip()
# 地址
address = shop.find('span', {'class': 'addr'}).text.strip()
# 打印店铺信息
print(name, rating, review_count, avg_price, address)
# 随机休眠1~3秒,避免被封IP
time.sleep(random.randint(1, 3))
```
这段代码将爬取上海的美食店铺信息,每页10个,共爬取10页。在遍历店铺列表时,提取了店名、评分、评论数、人均消费和地址。注意,在遍历完每一页之后,随机休眠1~3秒,避免被封IP。
阅读全文