• 问题描述

    爬虫任务中,所需内容在:

    <table class="table_search_">
        <tbody>
            <tr>...</tr>
            <tr>...</tr>
            <tr>...</tr>
    

    可以定位到table class="table_search_",但是没有想要的内容。即,无法提取tbody内容。

  • 问题解析

    [爬虫]xpath无法定位tbody标签(已解决)

    tbody 不是必须存在的,ChromeElements标签页里一定会存在tbody(如果原生网页没有,chrome会自动添加),selenium返回的是chromeElements内容,因此也一定会存在tbody.

    requests则不同,如果源html中未添加,则返回内容中就没有.

  • 解决方案

    深入理解爬虫:网页分析||审查元素

    从上文中“对于network抓包作用的理解”这部分中,可以理解本例问题中table下的内容不是当前网页直接返回的html,所以直接get当前网页,是无法解析出内容的。

    需要通过network抓包分析出所需内容是哪个链接给出的,然后对那个链接进行单独get

    本例中headers里需要:Referer, User-Agent两项。关于其意义,参见《理解http request headers中Referer||User-Agent||Cookie…的意义

  • References

  1. scrapy的xpath无法匹配tbody标签
  2. xpath解析网页中tbody问题
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐