我可以使用两种不同的方法来提取文章标题:xpath vs. css。他们会给我相同的结果,但有一个区别。使用xpath会将数据(json文件)存储在方括号["Some Title"]
中,而css选择器仅存储不带括号"Some Title"
的数据。我实际上不想用方括号存储数据。 我该如何使用xpath?
这是我提取文档标题的代码:
CSS选择器
def parse_article(self, response):
def extract_with_css(query):
return response.css(query).get(default='').strip()
yield {
'title': extract_with_css('div#title h2::text')
}
Xpath
def parse_article(self, response):
def extract_with_xpath(query):
return response.xpath(query).extract()
yield {
'title': extract_with_xpath('//div[@id="title"]/h2/text()')
}
答案 0 :(得分:1)
将代码从extract()
修改为get()
:
def extract_with_xpath(query):
return response.xpath(query).get(default='').strip()
方法extract
返回所有匹配项,而get
仅返回第一个匹配项。