from parsel import Selector
import requests
url = "https://news.baidu.com/"
res = requests.get(url).text
sel = Selector(text=res)
title = sel.xpath('.//title/text()').extract()[0] #有个空列表,先添加到列表的第0个元素,然后extract提取出来
comment = sel.xpath('.//meta[@name="description"]/@content').extract()[0]
print(title)
print(comment)
response通过选择器Selector作用后,再通过处理(如XPath)后得到的数据都是Unicode的形式
sel = Selector(response)
但是发现一个奇怪的点:
sel = Selector(text=res)中有text=res,但是上一步,res已经被赋值了,为什么还要写text=res呢?还请路过的大神解答。
如下,去掉text=代码亦可运行:
from parsel import Selector
import requests
url = "https://news.baidu.com/"
res = requests.get(url).text
sel = Selector(res)
title = sel.xpath('.//title/text()').extract()[0] #有个空列表,先添加到列表的第0个元素,然后extract提取出来
comment = sel.xpath('.//meta[@name="description"]/@content').extract()[0]
print(title)
print(comment)
运行结果如下:
百度新闻——海量中文资讯平台
百度新闻是包含海量资讯的新闻服务平台,真实反映每时每刻的新闻热点。您可以搜索新闻事件、热点话题、人物动态、产品资讯等,快速了解它们的最新进展。