用python写一个可以爬取pc端微博的图片、内容、点赞数、评论数,并将内容、点赞数、评论数保存为xls格式的爬虫代码
时间: 2024-06-09 16:08:10 浏览: 117
以下是一个基于 Python 的微博爬虫,可以爬取微博的图片、内容、点赞数、评论数,并将内容、点赞数、评论数保存为 xls 格式的文件。
首先,需要安装 requests、BeautifulSoup4 和 xlwt 库。可以使用 pip 进行安装。
```python
pip install requests
pip install beautifulsoup4
pip install xlwt
```
然后,就可以开始编写代码了。
```python
import requests
from bs4 import BeautifulSoup
import xlwt
# 构造请求头
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"}
# 构造微博链接
url = "https://weibo.cn/search/mblog?hideSearchFrame=&keyword=%E7%BE%8E%E9%A3%9F&advancedfilter=1&starttime=20200901&endtime=20201001&sort=time&page=1"
# 发送请求
response = requests.get(url, headers=headers)
# 解析页面
soup = BeautifulSoup(response.content, 'html.parser')
# 获取微博列表
weibo_list = soup.find_all('div', class_='c')
# 创建 xls 文件
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('Sheet1')
# 写入表头
worksheet.write(0, 0, '内容')
worksheet.write(0, 1, '点赞数')
worksheet.write(0, 2, '评论数')
# 遍历微博列表
for i in range(1, len(weibo_list) - 2):
# 获取微博内容
weibo_content = weibo_list[i].find('span', class_='ctt').text
worksheet.write(i, 0, weibo_content)
# 获取点赞数
weibo_like = weibo_list[i].find('a', class_='cc').text.split()[1]
worksheet.write(i, 1, weibo_like)
# 获取评论数
weibo_comment = weibo_list[i].find_all('a')[-1].text.split()[1]
worksheet.write(i, 2, weibo_comment)
# 保存文件
workbook.save('weibo.xls')
```
注:这里只是一个简单的示例代码,实际使用时,需要注意反爬措施和代码优化。
阅读全文