Python 从具有不同结构的不同域(大部分)中刮取多个单页
我有一个非常具体的URL列表,我需要从中获取数据(不同的选择器/字段)。总共有大约1000个链接,来自大约300个具有不同结构(选择器/xpath)的不同网站。我想看看是否有人对如何做到这一点有任何建议。我在网上寻找解决方案,看到有人推荐Python和Scrapy。虽然我对这些不太了解,但仍在努力理解,如果我使用Scrapy/Python,我在网上发现的似乎是,我必须为每个链接创建一个单独的爬行器(至少是具有不同结构的链接)。我也研究了Scrapy的通用spider方法,并尝试在我的案例中使用这些方法,但都不起作用 我想要提取的示例链接和字段如下所示,其中“url”是页面,由“selector”标识的字段是我想要从该页面提取的内容。我希望在“name”字段下有每个字段的输出 最后,我确实对PHP有更好的了解,因此我们也非常感谢任何关于使用PHP的建议 你必须为任何你想刮的页面写蜘蛛Python 从具有不同结构的不同域(大部分)中刮取多个单页,python,web-scraping,scrapy,web-crawler,phpcrawl,Python,Web Scraping,Scrapy,Web Crawler,Phpcrawl,我有一个非常具体的URL列表,我需要从中获取数据(不同的选择器/字段)。总共有大约1000个链接,来自大约300个具有不同结构(选择器/xpath)的不同网站。我想看看是否有人对如何做到这一点有任何建议。我在网上寻找解决方案,看到有人推荐Python和Scrapy。虽然我对这些不太了解,但仍在努力理解,如果我使用Scrapy/Python,我在网上发现的似乎是,我必须为每个链接创建一个单独的爬行器(至少是具有不同结构的链接)。我也研究了Scrapy的通用spider方法,并尝试在我的案例中使用这
- 刮削的基本规则
在这里查看谢谢@rahul的回复/建议。正如我提到的,我是新手,对python或抓取数据没有太多知识。我才刚刚开始学习。我所说的需要为任何需要刮取的页面编写spider的意思是,我是否需要创建一个spider-1.py、spider_2.py、…、spider_n.py来刮取n个不同的页面,或者我是否可以使用一个通用spider并创建一种采用页面特定参数的实例。同样,如果我是用面向对象的方法来思考这个问题的,如果我走错了路,请指导我。再次感谢您的回复!关于OrishHey Orish,答案是否定的。正如我已经说过的,新闻纸3K消除了创建多个蜘蛛的需要。您可以处理任何类型的文章,而无需创建爬行器本身。你所要做的就是,将要提取的文章url提供给Newspaper3k库,它将从文章中提取数据。“没有必要为每篇文章创建spider”。希望这有帮助,奥里什,怎么样?你的箱子和我的很相似。新闻纸3K在90%的时间里对我有效。但希望它能起到95%的效果。我也有很多网站可以提取信息,但受newspaper3k作者提取器功能的限制。因为结构不同(如你所说),一些作者没有被接受。
"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"
}
]
}
]