2

我有一个非常具体的 url 列表,我需要从(不同的选择器/字段)中抓取数据。来自大约 300 个具有不同结构(选择器/xpath)的不同网站总共有大约 1000 个链接。我正在尝试看看是否有人对如何做到这一点有任何建议。我在网上寻找解决方案,可以看到有人推荐 Python 和 Scrapy。虽然我对这些不太了解并且仍然试图理解,但我从网上找到的似乎如果我为此使用 Scrapy/Python,看起来我将不得不为每个链接创建一个单独的蜘蛛(至少具有不同的结构体)。我还查看了 Scrapy 的通用蜘蛛方法,并尝试将它们用于我的案例,但它们没有用。

我要提取的示例链接和字段如下所示,其中“url”是页面,由“selector”标识的字段是我要从该页面中提取的内容。我想在“名称”字段下输出每个

"urls":[
         {
            "url":"https://www.australianclinicaltrials.gov.au/resources-clinical-trials-australia",
             "fields":[
               {
                  "name":"Body",
                  "selector":"#block-system-main .even"
               },
               {
                  "name":"Page Updated",
                  "selector":"time"
               }
            ]
         },
         {
            "url":"https://www.canada.ca/en/health-canada/corporate/about-health-canada/branches-agencies/health-products-food-branch/biologics-genetic-therapies-directorate.html",
            "fields":[
               {
                  "name":"Body",
                  "selector":"main h1#wb-cont+div"
               },
               {
                  "name":"Page Updated",
                  "selector":"#wb-dtmd time"
               }
            ]
         }
      ]

最后,我确实对 PHP 有更好的了解,因此对于为此目的使用 PHP 的任何建议也值得赞赏。

4

1 回答 1

0

您必须为要抓取的任何页面编写蜘蛛

  • 刮痧的基本规则。

话虽如此,您发布的链接看起来像文章或报纸的链接。如果是这种情况,您可以查看Newspaper3k,它是一个 python 库,可以从任何文章/报纸中提取内容。

它是如何从文章中获取元数据并进行处理的。由于大多数文章为 SEO 目的提供元数据中的信息,因此很可能会抓取世界各地的几乎所有文章。

在这里查看https://github.com/codelucas/newspaper

于 2018-08-22T07:11:44.413 回答