Scrapy-Xpath
标签[1]与extract_first()
标签[1]的覆盖范围更广泛,比如
as=response.xpath(//*/div[@class="guide"])
xpath返回的迭代器有三个部分
extract()
函数则是把其中的data部分全部提取出来,是一个列表;extract_first()
返回符合条件的第一个数据;as=response.xpath('//*/div[@class="guide"]/text()').extract()
加入text后,可以去掉元素的标签全部孩子节点“//”;
直接孩子节点“/”
'*' 返回全部符合条件的节点进入列表。
利用for循环,对上述符合条件的节点进行筛选
re模块的替换
re.sub(正则表达式,替换成的部分,字符串)
;
sub是贪心算法,会匹配到最长的模式,在正则表达式中加入”?“则使用最短匹配方式;寻找最近的<>之间来替换
a = re.sub(r'<.*?>', '', a)
xpath选择某标签的属性值
打开json文件必须在同一目录
选取属于 bookstore 子元素的最后一个 book 元素
/bookstore/book[last()]
选取带有属性的div节点
/div[@*]
分层次过滤节点
元素的兄弟节点
following-sibling::p #后兄弟节点P,属于xpath的轴
Last updated