用jupyter爬取古诗文网中推荐栏目的数据
时间: 2024-11-03 08:14:47 浏览: 27
爬虫学习笔记:爬取古诗文网
5星 · 资源好评率100%
在Jupyter Notebook中爬取古诗文网的数据通常需要使用Python的网络爬虫库,如BeautifulSoup、requests等。以下是简单的步骤:
1. **安装必要的库**:
首先确保你已经安装了`requests`用于发送HTTP请求,`beautifulsoup4`用于解析HTML文档。如果没有,可以使用`pip install requests beautifulsoup4`命令进行安装。
2. **发送GET请求**:
使用`requests.get()`函数获取古诗文网推荐栏目的网页源码,例如网站的URL可能是 "http://www.gushiwen.org/recommend/"。
```python
import requests
url = 'http://www.gushiwen.org/recommend/'
response = requests.get(url)
```
3. **处理响应**:
确保请求成功(状态码200),然后解析HTML内容。BeautifulSoup可以帮助我们提取出有用的信息。
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, 'lxml')
```
4. **查找目标数据**:
查看HTML结构找到包含推荐栏目信息的标签,这通常是通过CSS选择器或XPath表达式定位。假设数据存储在`div`类为"recommend-item"的元素中。
```python
items = soup.select('.recommend-item')
```
5. **提取并保存数据**:
对每个`div`元素,提取标题、作者、链接等字段,并将其添加到列表或字典中。如果数据格式复杂,可能需要进一步解析。
```python
data = []
for item in items:
title = item.select_one('h2 a').text
author = item.select_one('.author').text
link = item.select_one('a')['href']
data.append({'title': title, 'author': author, 'link': link})
```
6. **保存数据**:
将抓取的数据保存到文件或数据库,比如CSV、JSON或者数据库表中。
```python
import csv
with open('poems.csv', 'w', newline='') as csvfile:
fieldnames = ['title', 'author', 'link']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
```
阅读全文