用python从交大新闻网主页新闻栏目(http://news.xjtu.edu.cn/zyxw.htm)爬取最新的100 条新闻的代码,并保存在news.txt文件中
时间: 2024-02-26 16:53:44 浏览: 80
好的,以下是用 Python 爬取交大新闻网主页最新100条新闻并保存在news.txt文件中的代码:
```python
import requests
from bs4 import BeautifulSoup
url = 'http://news.xjtu.edu.cn/zyxw.htm'
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'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
news_list = soup.find('div', class_='l-list')
news_items = news_list.find_all('div', class_='item')
with open('news.txt', 'w', encoding='utf-8') as f:
for news_item in news_items[:100]:
news_title = news_item.find('a').text.strip()
news_link = news_item.find('a')['href']
news_time = news_item.find('span').text.strip()
f.write(news_title + '\n' + news_link + '\n' + news_time + '\n\n')
```
解释一下代码:
1. 我们首先导入了 `requests` 和 `BeautifulSoup` 库,这两个库分别用于发送 HTTP 请求和解析 HTML 文件。
2. 然后我们设置了请求头部信息,模拟浏览器发送请求。
3. 接下来发送 GET 请求并解析网页内容。
4. 找到新闻列表所在的 HTML 元素,并遍历其中的每一个新闻条目。
5. 将每一条新闻的标题、链接和发布时间写入到 `news.txt` 文件中,每条新闻之间用两个换行符分隔。
请确保在运行脚本之前已经安装了 `requests` 和 `beautifulsoup4` 库。您可以使用以下命令进行安装:
```
pip install requests beautifulsoup4
```
执行脚本后,将在当前目录下创建一个名为 `news.txt` 的文件,并在其中写入最新的100条新闻的标题、链接和发布时间。
阅读全文