利用Requests库与Xpath 路径查询语句采集新浪首页https://news.sina.com.cn/中所有栏目的标题及其对应的超链接,要采集的信息如下图所示,将采集到的标题信息接输出到控制台。
时间: 2024-11-15 21:32:19 浏览: 23
要利用`requests`库和`lxml`模块结合XPath路径查询语句采集新浪新闻首页(`https://news.sina.com.cn/`)的栏目标题和对应链接,您可以按照以下步骤操作:
1. 首先,导入所需的库:
```python
from lxml import etree
import requests
```
2. 使用`requests`获取网页内容:
```python
url = "https://news.sina.com.cn/"
response = requests.get(url)
data = response.text
```
3. 创建`etree`对象并解析HTML:
```python
html = etree.HTML(data)
```
4. 定位栏目标题和链接的XPath表达式。根据您提供的图片或者网站结构,假设每个栏目的标题位于`<h2>`标签内,链接位于`<a>`标签的`href`属性中,我们可以这样写:
- 标题XPath: `//div[@class="hotNews"]/h2/a/text()` (这里的类名可能需要根据实际网站结构调整)
- 链接XPath: `//div[@class="hotNews"]/h2/a/@href`
5. 使用XPath查询并获取结果:
```python
titles_and_links = html.xpath('//div[@class="hotNews"]/h2/a')
```
6. 循环遍历结果,输出标题和链接:
```python
for title_link in titles_and_links:
title = title_link.text
link = title_link.attrib['href']
print(f"标题: {title}, 链接: {link}")
```
请注意,这里的XPath选择器可能需要根据实际网站的具体布局进行调整。
阅读全文