如何仅使用requests和re库爬取新闻网站内容,并分别以文本文件储存到本机文件夹中
时间: 2023-05-17 07:02:46 浏览: 62
你可以使用以下代码来爬取新闻网站内容并将其储存在本地文件夹中:
```python
import requests
import re
url = 'https://www.example.com/news'
response = requests.get(url)
content = response.text
# 使用正则表达式提取新闻内容
pattern = re.compile('<div class="news-content">(.*?)</div>', re.S)
result = pattern.findall(content)
# 将新闻内容写入本地文件
for i, news in enumerate(result):
with open(f'news_{i}.txt', 'w', encoding='utf-8') as f:
f.write(news)
```
这段代码会爬取指定网站的新闻内容,并使用正则表达式提取出新闻内容。然后,它会将每篇新闻的内容写入一个单独的文本文件中,文件名为`news_0.txt`、`news_1.txt`等。你可以根据需要修改代码中的网站 URL 和正则表达式来适应不同的网站。
相关问题
如何仅使用requests和re库爬取新闻网站内容并输出,每个新闻使用一个文本文件存储到本地机项目文件夹中,文件名为新闻标题;
您可以使用以下代码来实现:
```python
import requests
import re
url = "https://www.example.com/news" # 替换为您要爬取的新闻网站链接
response = requests.get(url)
html = response.text
news_list = re.findall('<a href="(.*?)">(.*?)</a>', html) # 使用正则表达式获取新闻链接和标题
for news in news_list:
news_url = news[0]
news_title = news[1]
news_response = requests.get(news_url)
news_html = news_response.text
with open(news_title + ".txt", "w", encoding="utf-8") as f: # 以新闻标题为文件名,存储到本地项目文件夹中
f.write(news_html)
```
请注意,这只是一个简单的示例,实际情况可能会更加复杂。在实际使用中,请务必遵守网站的爬虫规则,并避免对网站造成过大的负担。
如何仅使用requests和re库爬取新闻网站内容,每个新闻使用一个文本文件存储到本地机项目文件夹中,文件名为新闻标题;
您可以使用以下代码来实现:
```python
import requests
import re
# 新闻网站的 URL
url = "https://www.example.com/news"
# 发送 GET 请求并获取响应
response = requests.get(url)
# 使用正则表达式匹配新闻标题和内容
pattern = r'<h1>(.*?)</h1>.*?<div class="content">(.*?)</div>'
matches = re.findall(pattern, response.text, re.DOTALL)
# 将每个新闻保存到本地文件
for match in matches:
title = match[0]
content = match[1]
# 将标题中的非法字符替换为下划线
title = re.sub(r'[^\w\-_\. ]', '_', title)
# 将新闻保存到本地文件
with open(title + '.txt', 'w', encoding='utf-8') as f:
f.write(content)
```
这段代码使用 requests 库发送 GET 请求获取新闻网站的内容,然后使用 re 库中的正则表达式匹配新闻标题和内容。最后将每个新闻保存到本地文件夹中,文件名为新闻标题。注意,为了避免文件名中出现非法字符,我们使用 re.sub() 函数将标题中的非法字符替换为下划线。