python xpath爬取新闻标题
时间: 2023-09-15 11:22:59 浏览: 69
以下是一个示例代码,可以使用Python和XPath爬取新闻标题:
```python
import requests
from lxml import etree
url = 'https://www.baidu.com/s?wd=%E6%96%B0%E9%97%BB&tn=news&ie=UTF-8'
response = requests.get(url)
html = response.content
tree = etree.HTML(html)
# 使用XPath选择新闻标题
titles = tree.xpath('//h3[@class="news-title_1YtI1"]/a/text()')
# 打印新闻标题
for title in titles:
print(title)
```
解释一下代码:
1. 首先,我们需要导入requests和lxml.etree模块,因为我们将使用它们来爬取并解析HTML。
2. 然后,我们指定了要爬取的网址,并使用requests.get()函数从该网址获取响应。
3. 我们使用response.content将响应的HTML内容存储在一个变量中。
4. 接下来,我们使用etree.HTML()函数将HTML字符串转换为lxml.etree.Element对象,这样我们就可以使用XPath表达式来选择HTML元素。
5. 然后,我们使用XPath表达式选择所有具有“news-title_1YtI1”类的<h3>元素,并从每个元素中提取文本内容。
6. 最后,我们将每个标题打印到控制台。
请注意,上面的代码仅适用于百度新闻搜索结果页面。如果您想爬取其他网站的新闻标题,您需要根据该网站的HTML结构修改XPath表达式。