【问题标题】:How do I get the correct selector from flipkart review page for web scraping?如何从 Flipkart 评论页面获取正确的选择器以进行网络抓取?
【发布时间】:2016-11-10 12:54:22
【问题描述】:

评论位于具有多个类“row _3wYu6I _3BRC7L”的选择器中。 但是在抓取时,响应没有上面的选择器,而是有“row _3wYu6I _1KVtzT”选择器。而且这个选择器有一个空列表。实际上flipkart页面Flipkart page中所有值为“_3BRC7L”的类都被转换为具有值的类“_1KVtzT”作为我通过抓取的回应。 The list of elements that I get when using xpath of the parent class。我应该如何解决这个问题?

【问题讨论】:

  • 你会显示你的代码吗?您是否检查过这些类_3BRC7L_1KVtzT 是否是在每次页面加载时随机生成的不同值?
  • 是的,你是对的,它们是随机生成的值。我现在纠正了我的代码。谢谢

标签: python xpath web-scraping scrapy selector


【解决方案1】:

flipkart 页面通过 ajax 请求生成动态内容。这就是我无法获得正确的类选择器的原因。现在,我按照以下答案的说明更改了代码:To retrieve data through ajax requests。 这对我来说非常有用且简单,因为我是新手,不需要使用 scrapy 或 casperjs。

【讨论】:

    【解决方案2】:

    使用 xpath,您可以获得具有某个类的 div,该类包含一个段落,该段落具有一个包含值 review 的 id

    这个选择器是一个很好的开始,您可以从这里构建任何选择器以供审核。

    //div[.//p[contains(@id, 'review')]][@class='col']
    

    【讨论】:

    • 我尝试给 xpath。但问题是 Flipkart 现在会生成动态内容,并且在抓取时,我没有在他们的 html 页面中使用正确的选择器。因此,我使用他们页面的 ajax 请求检索数据。
    猜你喜欢
    • 1970-01-01
    • 2019-08-22
    • 2017-11-21
    • 1970-01-01
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    相关资源
    最近更新 更多