用xpath采集新闻网站上的图片和新闻内容
时间: 2024-05-08 15:16:25 浏览: 6
以新浪新闻为例,以下是采集新闻网站上的图片和新闻内容的示例代码:
```
import requests
from lxml import etree
# 新闻页面的URL
url = 'https://news.sina.com.cn/w/2021-11-19/doc-iktzscyy1479620.shtml'
# 发送请求,获取HTML代码
response = requests.get(url)
html = response.text
# 使用lxml库解析HTML代码
selector = etree.HTML(html)
# 提取新闻标题
title = selector.xpath('//h1/text()')[0].strip()
# 提取新闻发布时间
time = selector.xpath('//span[@class="date"]/text()')[0]
# 提取新闻内容
content = ''
p_list = selector.xpath('//div[@id="article"]/p')
for p in p_list:
content += p.xpath('string(.)').strip() + '\n'
# 提取新闻图片
img_list = selector.xpath('//div[@id="article"]/p/img/@src')
# 打印结果
print('标题:', title)
print('发布时间:', time)
print('内容:', content)
print('图片链接:', img_list)
```
这段代码可以输出新浪新闻某篇文章的标题、发布时间、内容和图片链接。其中,使用了XPath表达式来提取HTML代码中的数据,包括标题、发布时间、新闻内容和图片链接。具体的XPath表达式可以根据不同的网站和页面结构进行调整。