用python写一个完整的爬虫代码,爬虫可以爬取微博的图片、内容、点赞数、评论数,并将内容、点赞数、评论数保存为xls格式
时间: 2024-05-09 17:15:18 浏览: 93
详解用python写网络爬虫-爬取新浪微博评论
好的,以下是一个基本的微博爬虫代码,可以爬取微博的图片、内容、点赞数、评论数,并将内容、点赞数、评论数保存为xls格式:
```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'}
# 获取微博页面内容
def get_weibo_content(url):
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
return soup
# 获取微博内容、点赞数、评论数和图片
def get_weibo_info(soup):
weibo_info = []
weibos = soup.select('div.WB_feed_detail')
for weibo in weibos:
# 获取微博内容
wb_content = weibo.select('div.WB_text.W_f14')[0].text.strip()
# 获取点赞数
wb_like = weibo.select('span[node-type="like_status"]')[0].text.strip()
# 获取评论数
wb_comment = weibo.select('span[node-type="comment_btn_text"]')[0].text.strip()
# 获取图片
wb_img = []
imgs = weibo.select('li.WB_pic img')
for img in imgs:
wb_img.append(img.get('src'))
weibo_info.append([wb_content, wb_like, wb_comment, wb_img])
return weibo_info
# 保存为xls格式
def save_to_xls(weibo_info):
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('微博信息')
row = 0
for info in weibo_info:
col = 0
for i in info:
if type(i) == list:
worksheet.write(row, col, '\n'.join(i))
else:
worksheet.write(row, col, i)
col += 1
row += 1
workbook.save('weibo_info.xls')
if __name__ == '__main__':
# 输入微博主页链接
url = input('请输入微博主页链接:')
soup = get_weibo_content(url)
weibo_info = get_weibo_info(soup)
save_to_xls(weibo_info)
print('微博信息已保存为weibo_info.xls')
```
需要注意的是,微博的页面结构可能会不断变化,所以需要根据实际情况对代码进行调整。此外,爬取他人微博信息可能涉及到隐私问题,请谨慎使用。
阅读全文