帮我利用python的BeautifulSoup编写一个爬虫代码,爬取新浪微博前十条热搜的标题、日期以及热搜内容,将爬取得到的内容输出展示,并将结果保存至csv文件中。
时间: 2023-06-27 14:05:08 浏览: 119
好的,以下是利用Python的BeautifulSoup编写的爬虫代码,可以爬取新浪微博前十条热搜的标题、日期以及热搜内容,并将结果输出展示,并保存到csv文件中。
首先,我们需要安装BeautifulSoup和requests库,可以通过以下命令进行安装:
```
pip install beautifulsoup4 requests
```
然后,我们可以编写如下代码:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 请求URL
url = 'https://s.weibo.com/top/summary'
# 请求头部信息
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'}
# 发送请求
response = requests.get(url, headers=headers)
# 解析HTML页面
soup = BeautifulSoup(response.text, 'lxml')
# 获取热搜列表
hot_list = soup.find_all('tr')[1:11]
# 输出展示和保存到csv文件
with open('weibo_hot.csv', 'w', newline='', encoding='utf-8-sig') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['排名', '标题', '日期', '内容'])
for i, item in enumerate(hot_list):
title = item.find_all('a')[0].text
date = item.find_all('td')[1].text
content = item.find_all('td')[2].text.strip()
writer.writerow([i+1, title, date, content])
print(f"{i+1}. 标题:{title} 日期:{date} 内容:{content}")
```
运行上述代码,即可输出展示和保存到csv文件中。
其中,我们使用了requests库发送HTTP请求,并使用BeautifulSoup库解析HTML页面。我们首先请求新浪微博的热搜页面,然后解析页面中的热搜列表。对于每一条热搜,我们使用find_all方法获取对应的标题、日期和内容,并将这些信息保存到csv文件中。同时,我们也将这些信息输出展示在控制台上。
阅读全文