将所有爬取的内容保存到gdqy目录中。
时间: 2024-03-20 20:44:34 浏览: 14
要将所有爬取的内容保存到gdqy目录中,可以按照以下步骤进行:
1. 创建一个名为gdqy的目录,可以使用os模块的mkdir函数;
2. 将所有爬取到的内容保存到这个目录中,文件名为递增数字加上.txt后缀。
以下是一个简单的示例代码,假设新闻内容存储在变量news中:
```python
import os
# 创建目录
if not os.path.exists('gdqy'):
os.mkdir('gdqy')
# 生成文件名
filename = os.path.join('gdqy', str(count) + '.txt')
# 打开文件并写入新闻内容
with open(filename, 'w', encoding='utf-8') as f:
f.write(news)
# 计数器加1
count += 1
```
在这个示例代码中,首先使用os模块的exists函数判断gdqy目录是否存在,如果不存在,则使用os模块的mkdir函数创建该目录。生成文件名时,使用os模块的join函数将目录名和文件名合并成完整的文件路径。最后,将新闻内容写入到文件中,计数器加1。这样就能够将所有爬取到的内容保存到gdqy目录中了。
相关问题
将所有爬取的内容保存到gdqy目录中。 每条新闻保存到一个文件中,文件名以递增数字为文件名,后缀为.txt。比如第一条新闻保存到1.txt,第二条保存到2.txt。
好的,你可以使用以下 Python 代码实现:
```python
import os
import requests
from bs4 import BeautifulSoup
def save_news(url):
# 发送 HTTP 请求,获取网页内容
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# 解析网页,获取新闻标题和正文内容
title_tag = soup.find('h1', class_='article-title')
if title_tag is None:
title = ''
else:
title = title_tag.get_text().strip()
content_tags = soup.find_all('div', class_='article-content')
content = '\n'.join([tag.get_text().strip() for tag in content_tags])
# 生成保存文件的路径和文件名
dir_path = 'gdqy'
if not os.path.exists(dir_path):
os.makedirs(dir_path)
file_name = f'{len(os.listdir(dir_path)) + 1}.txt'
file_path = os.path.join(dir_path, file_name)
# 将新闻内容写入文件
with open(file_path, 'w', encoding='utf-8') as f:
f.write(url + '\n')
f.write(title + '\n\n')
f.write(content)
if __name__ == '__main__':
urls = [
'https://www.gdqy.gov.cn/zwgk/xwzx/gzdt/202209/t20220909_356732.html',
'https://www.gdqy.gov.cn/zwgk/xwzx/gzdt/202209/t20220909_356731.html',
'https://www.gdqy.gov.cn/zwgk/xwzx/gzdt/202209/t20220909_356730.html'
]
for url in urls:
save_news(url)
```
你可以将需要爬取的网页 URL 存放在 `urls` 列表中,然后运行代码即可将新闻内容保存到 `gdqy` 目录中。每条新闻保存在以递增数字为文件名的 `.txt` 文件中,文件名为新闻的标题。其中,第一行为新闻的 URL,第二行为新闻标题,第三行及之后为新闻的正文内容。
使用requests或urllib库,os库以及bs4库爬取特定网页内容。不得使用现成的桌面工具爬取内容。 爬取包括: 1、 广轻新闻,即从以下入口进去的所有新闻(接近1800条) 2、 二级学院“信息技术学院”的新闻。 爬取的新闻内容以及保存方式: 1、 爬取的内容 所有新闻只抽取有效的“标题”,“正文”文本内容,以及本新闻的url地址,其他内容忽略。 如下篇新闻 进入此新闻后,红框部分是需要抽取的内容: 2、保存形式 将所有爬取的内容保存到gdqy目录中。 每条新闻保存到一个文件中,文件名以递增数字为文件名,后缀为.txt
非常好,您需要使用 Python 的 requests 或 urllib 库、os 库和 bs4 库爬取广轻新闻和信息技术学院的新闻,保存方式为每条新闻保存到一个文件中,文件名以递增数字为文件名,后缀为.txt。
首先,您需要安装 requests 和 beautifulsoup4 库。在终端或命令行中输入以下命令可安装:
```
pip install requests
pip install beautifulsoup4
```
接下来,您可以使用以下代码爬取广轻新闻:
```python
import requests
from bs4 import BeautifulSoup
import os
# 设置请求头
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'}
# 设置保存路径
save_path = './gdqy'
# 创建保存路径
if not os.path.exists(save_path):
os.makedirs(save_path)
# 爬取广轻新闻
url = 'http://www.gdqy.edu.cn/'
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
news_list = soup.find_all('li', class_='news_li')
# 遍历新闻列表,保存每条新闻到文件
for i, news in enumerate(news_list):
# 获取新闻标题和链接
title = news.find('a').text.strip()
link = url + news.find('a')['href']
# 发送请求,获取新闻内容
news_response = requests.get(link, headers=headers)
news_soup = BeautifulSoup(news_response.content, 'html.parser')
news_content = news_soup.find('div', class_='news_content').text.strip()
# 保存新闻到文件中
filename = '{}/{}.txt'.format(save_path, i+1)
with open(filename, 'w', encoding='utf-8') as f:
f.write(link + '\n')
f.write(title + '\n')
f.write(news_content)
```
请注意爬取时要设置请求头,否则会被网站拦截。此外,还需要创建保存路径,遍历新闻列表并保存每条新闻到文件中。
接下来,您可以使用以下代码爬取信息技术学院的新闻:
```python
import requests
from bs4 import BeautifulSoup
import os
# 设置请求头
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'}
# 设置保存路径
save_path = './gdqy'
# 创建保存路径
if not os.path.exists(save_path):
os.makedirs(save_path)
# 爬取信息技术学院的新闻
url = 'http://xxjs.gdqy.edu.cn/info/iList.jsp?cat_id=10026'
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
news_list = soup.find_all('li', class_='news_li')
# 遍历新闻列表,保存每条新闻到文件
for i, news in enumerate(news_list):
# 获取新闻标题和链接
title = news.find('a').text.strip()
link = 'http://xxjs.gdqy.edu.cn' + news.find('a')['href']
# 发送请求,获取新闻内容
news_response = requests.get(link, headers=headers)
news_soup = BeautifulSoup(news_response.content, 'html.parser')
news_content = news_soup.find('div', class_='news_content').text.strip()
# 保存新闻到文件中
filename = '{}/{}.txt'.format(save_path, i+1)
with open(filename, 'w', encoding='utf-8') as f:
f.write(link + '\n')
f.write(title + '\n')
f.write(news_content)
```
与广轻新闻的爬取类似,需要设置请求头、创建保存路径、遍历新闻列表并保存每条新闻到文件中。
最后,您可以在终端或命令行中运行以上代码,爬取新闻并保存到 gdqy 目录下。