python爬取央视新闻文本
时间: 2023-10-06 11:04:18 浏览: 87
你可以使用Python中的BeautifulSoup库和requests库来实现这个任务。具体步骤如下:
1. 使用requests库获取央视新闻网站的HTML页面数据。
2. 使用BeautifulSoup库解析HTML页面数据,获取新闻文章的链接地址。
3. 使用requests库获取新闻文章的HTML页面数据。
4. 使用BeautifulSoup库解析新闻文章的HTML页面数据,获取文章的标题和正文内容。
5. 将文章标题和正文内容保存到文件或数据库中。
下面是一个简单的示例代码,演示如何爬取央视新闻的文本:
```python
import requests
from bs4 import BeautifulSoup
# 获取央视新闻网站的HTML页面数据
url = 'http://www.news.cn/politics/'
response = requests.get(url)
html = response.content
# 使用BeautifulSoup库解析HTML页面数据,获取新闻文章的链接地址
soup = BeautifulSoup(html, 'html.parser')
links = []
for link in soup.find_all('a'):
href = link.get('href')
if href and href.startswith('http://www.news.cn/politics/'):
links.append(href)
# 使用requests库获取新闻文章的HTML页面数据,并使用BeautifulSoup库解析新闻文章的HTML页面数据,获取文章的标题和正文内容
for link in links:
response = requests.get(link)
html = response.content
soup = BeautifulSoup(html, 'html.parser')
title = soup.find('h1').text.strip()
content = ''
for p in soup.find_all('p'):
content += p.text.strip()
# 将文章标题和正文内容保存到文件中
with open('news.txt', 'a', encoding='utf-8') as f:
f.write(title + '\n')
f.write(content + '\n\n')
```
在这个例子中,我们首先使用requests库获取央视新闻网站的HTML页面数据,然后使用BeautifulSoup库解析HTML页面数据,获取新闻文章的链接地址。接下来,我们使用requests库循环获取每个新闻文章的HTML页面数据,并使用BeautifulSoup库解析HTML页面数据,获取文章的标题和正文内容。最后,我们将文章标题和正文内容保存到文件中。
需要注意的是,该示例代码只是一个简单的示例,实际上爬取网站的过程中,需要考虑到反爬虫机制和数据清洗等问题。
阅读全文