从交大新闻网主页新闻栏目(http://news.xjtu.edu.cn/zyxw.htm)爬取最新的100 条新闻
时间: 2023-08-22 16:09:33 浏览: 168
好的,我可以为您编写一个简单的 Python 程序来完成这项任务。我们可以使用 Requests 库来获取页面内容,使用 Beautiful Soup 库来解析 HTML 文件。
以下是程序的实现步骤:
1. 导入所需的库:
```python
import requests
from bs4 import BeautifulSoup
```
2. 确定网页 URL 和请求头部信息:
```python
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'}
```
3. 发送 GET 请求并解析网页内容:
```python
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
```
4. 找到新闻列表所在的 HTML 元素,并遍历其中的每一个新闻条目:
```python
news_list = soup.find('div', class_='l-list')
news_items = news_list.find_all('div', class_='item')
for news_item in news_items:
news_title = news_item.find('a').text.strip()
news_link = news_item.find('a')['href']
news_time = news_item.find('span').text.strip()
print(news_title, news_link, news_time)
```
完整的代码如下所示:
```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')
for news_item in news_items:
news_title = news_item.find('a').text.strip()
news_link = news_item.find('a')['href']
news_time = news_item.find('span').text.strip()
print(news_title, news_link, news_time)
```
执行程序后,将会输出最新的100条新闻的标题、链接和发布时间。
阅读全文