欢迎光临
我们一直在努力

python得scrapy提取数据 xpath注意事项

在提取器过滤数据这个地方被坑了很久,确实有点坑,有点难以理解,多注意下就可以了。

from multiprocessing import allow_connection_pickling
from scrapy.spiders import Spider
from ..items import Cnblogshaha01Item

class cnblogSpider(Spider):
    name="cnblogsHAHA01" #定义爬虫名称
    allow_connection_pickling=['www.cnblogs.com'] #定义爬虫域
    start_urls = ['https://www.cnblogs.com/huaan011'] #定义开始爬虫链接

    def parse(self,response) :
        item_nodes = response.css(".post")
        for item_node in item_nodes:
            item = Cnblogshaha01Item()
            #参考文档: https://www.w3cschool.cn/scrapy2_3/scrapy2_3-ms5x3fng.html
            # item['name']= item_node.xpath('/span/text()').extract_first().strip() #这个表示从response中开始提取所有的满足搜索条件的值
            # item['name']= item_node.xpath('//span/text()').extract_first().strip() #这个表示从response中开始提取所有的满足搜索条件的值
            #item['name']= item_node.xpath('h2/a/span/text()').extract_first().strip() #这个表示从当前的选择器中开始提取所有的满足搜索条件的值
            item['name']= item_node.xpath('.//span/text()').extract_first().strip() #这个表示从当前的选择器中开始提取所有的满足搜索条件的值
            #item['name']= item_node.xpath('./h2/a/span/text()').extract_first().strip() #这个表示从当前的选择器中开始提取所有的满足搜索条件的值
       #item['name']= item_node.css('span::text').getall()[0].strip(); #这个表示从当前的选择器中开始提取所有满足搜索条件的值
print(item['name']) yield item

参考文档: 

https://www.w3cschool.cn/scrapy2_3/scrapy2_3-ms5x3fng.html
https://www.runoob.com/xpath/xpath-syntax.html
未经允许不得转载:大有博文 » python得scrapy提取数据 xpath注意事项
分享到: 更多 (0)

大前端WP主题 更专业 更方便

联系我们联系我们