【问题标题】:Generate Seletor from source code, for scrapy从源代码生成选择器,用于scrapy
【发布时间】:2021-04-14 13:47:18
【问题描述】:

我正在尝试从动态网页的源代码创建 CSS 选择器。我试过没有结果:

        response.css('seller-info#region *::text').get()
        response.css('seller-info > region *::text').get()
        response.css('.seller-info#region ::text').get()
        response.css('seller-info#region ::text').get()
        response.css('seller-info > region ::text').get()
        response.css('seller-info:contains("to extract")::text').get()
        response.css('.seller-info:contains("to extract")::text').get()
        response.css('.seller-info:contains("to extract") *::text').get()
        response.css('seller-info:contains("to extract") *::text').get()

每个人的回应:“无” 我需要文字:“提取” *区域名称在其他代码树中重复

源代码

<seller-info
    username='glorious'
    ispro='true'
    region="to extract"
    phoneurl='/pg/0.gif"'
    storeurl=""
    

    seniority=''
    category="1220"
    phonevisible='true'
>
   <div slot="avatar">
        
        
        
                <div class="seller-info__header--icon-container">
                    <i class="icon-yapo  icon-briefcase "></i>
                </div>
        
   </div>
</seller-info>```

【问题讨论】:

    标签: python-3.x scrapy css-selectors


    【解决方案1】:

    您尝试从源代码中提取的数据 - 这是一个标签属性值(不是标签文本):

    region = response.css("seller-info[region]::attr(region)").get()
    

    或:

    region = response.css("seller-info::attr(region)").get()
    

    tagname::text这样的选择器旨在提取
    &lt;tagname&gt; text to extract &lt;/tagname&gt;这样的开始和结束标签之间的文本

    您的 &lt;seller-info&gt; 标签 - 是自闭合标签(如 img 标签)。它将数据存储在其属性中。

    【讨论】:

      猜你喜欢
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-16
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 2010-12-26
      • 1970-01-01
      相关资源
      最近更新 更多