使用requests或urllib库,以及bs4库爬取特定网页内容。不得使用现成的桌面工具爬取内容。 爬取包括: 1、 广轻新闻,即从以下入口进去的所有新闻(接近1800条) 2、 二级学院“信息技术学院”的新闻。 爬取的新闻内容以及保存方式: 1、 爬取的内容 所有新闻只抽取有效的“标题”,“正文”文本内容,以及本新闻的url地址,其他内容忽略。 如下篇新闻 进入此新闻后,红框部分是需要抽取的内容: 2、保存形式 将所有爬取的内容保存到gdqy目录中。 每条新闻保存到一个文件中,文件名以递增数字为文件名,后缀为.txt。比如第一条新闻保存到1.txt,第二条保存到2.txt。 在保存的文件中,第一行为url地址,第二行为标题(如无标题则是空行),第三行及之后是此新闻的正文内容。
时间: 2024-04-05 07:32:22 浏览: 27
为了完成这个任务,您需要先了解Python中的requests、urllib和bs4库。
requests库是Python中常用的HTTP请求库,可以轻松地实现发送HTTP请求以及获取响应。urllib库是Python内置的HTTP请求库,也可以用于发送HTTP请求和获取响应。bs4库是一个用于解析HTML和XML文档的Python库,可以帮助我们从HTML文档中提取所需的信息。
以下是一个简单的示例代码,用于爬取广轻新闻和信息技术学院的新闻:
``` python
import requests
from bs4 import BeautifulSoup
# 爬取广轻新闻
url = 'http://www.gdqy.edu.cn/col/col16554/index.html'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
news = soup.select('.newsList li')
# 保存到文件
for i, item in enumerate(news):
title = item.select_one('.newsTitle').text.strip()
link = item.select_one('.newsTitle a')['href']
date = item.select_one('.newsDate').text.strip()
content = item.select_one('.newsContent').text.strip()
filename = f'gdqy/{i+1}.txt'
with open(filename, 'w', encoding='utf-8') as f:
f.write(link + '\n')
f.write(title + '\n')
f.write(content)
# 爬取信息技术学院新闻
url = 'http://xxjsxy.gdqy.edu.cn/col/col14195/index.html'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
news = soup.select('.newsList li')
# 保存到文件
for i, item in enumerate(news):
title = item.select_one('.newsTitle').text.strip()
link = item.select_one('.newsTitle a')['href']
date = item.select_one('.newsDate').text.strip()
content = item.select_one('.newsContent').text.strip()
filename = f'gdqy/{i+len(news)+1}.txt'
with open(filename, 'w', encoding='utf-8') as f:
f.write(link + '\n')
f.write(title + '\n')
f.write(content)
```
注意,如果目录`gdqy`不存在,需要先创建该目录。