实现采集以下页面的新闻标题: https://www.solidot.org/ 方式2: requests + xpath完成相应的python代码
时间: 2024-12-17 08:45:08 浏览: 18
要使用Python的`requests`库结合`lxml`库的XPath解析来抓取网页的新闻标题,首先需要安装这两个库,如果还没安装的话:
```bash
pip install requests lxml
```
接下来,这里是一个简单的示例代码片段,它会获取指定链接的新闻标题:
```python
import requests
from bs4 import BeautifulSoup
from lxml import etree
# 请求网页内容
url = "https://www.solidot.org/"
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(response.text, 'lxml')
# 使用XPath选择新闻标题
title_xpath = ".//h2[@class='title'] | .//div[@class='entry-title']" # 因为Solidot的标题位置可能会有变化,所以提供两个常见的XPath路径作为备选
titles = []
for title in soup.xpath(title_xpath):
titles.append(title.text.strip()) # 去除换行符并提取文本
# 输出或保存新闻标题
for i, title in enumerate(titles, start=1):
print(f"{i}. {title}")
else:
print("请求失败,状态码:", response.status_code)
阅读全文