python爬取多页新闻网页并存储为文本文件
时间: 2023-10-14 19:04:29 浏览: 270
爬取新闻网站新闻列表的python程序
好的,我可以为您提供一个简单的Python爬虫示例代码,用于爬取多页新闻网页并存储为文本文件。请参考以下代码:
```python
import requests
from bs4 import BeautifulSoup
# 爬取的新闻网站首页URL
url = 'https://news.cnblogs.com'
# 爬取的页数
page_num = 3
# 存储结果的文本文件名
file_name = 'news.txt'
# 请求头信息
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'}
# 打开文件,准备写入数据
with open(file_name, 'w', encoding='utf-8') as f:
# 循环爬取每一页的新闻
for i in range(1, page_num + 1):
# 拼接当前页的URL
page_url = url + '/n/page/' + str(i)
# 发送GET请求,获取网页HTML代码
response = requests.get(page_url, headers=headers)
html = response.text
# 使用BeautifulSoup解析HTML代码
soup = BeautifulSoup(html, 'html.parser')
# 获取每篇新闻的标题和内容
news_list = soup.select('.news_block')
for news in news_list:
title = news.select('h2 a')[0].text.strip()
content = news.select('.content_summary')[0].text.strip()
# 将标题和内容写入文件
f.write(title + '\n')
f.write(content + '\n\n')
# 爬取完成
print('爬取完成!')
```
在上述代码中,我们使用requests库向目标网站发送GET请求,获取网页HTML代码。然后使用BeautifulSoup库解析HTML代码,获取每篇新闻的标题和内容,并将结果写入文本文件。最后,我们使用`with open() as`语句打开文件,这样可以自动关闭文件并释放资源。
请注意,上述示例代码仅供参考,实际应用时需要根据目标网站的具体情况进行调整。同时,爬虫应该遵守法律法规和道德规范,不得用于非法用途。
阅读全文