python - 如何从不同的网站获取相同类型的内容?
问题描述
我们知道大多数网站都有包含网站所有主要类别的站点地图。现在我有一个不同站点地图的网址列表(超过 100K),我希望从我拥有的所有不同站点地图中提取特定类别的网址。例如,假设我正在访问 microsoft 的站点地图并且有一个名为 news 的地方,所以我可以简单地使用 xpath 来获取该 url,但这仅适用于一个站点,如果我有大量的站点并且我想提取所有的 '只要它们存在,就可以从他们那里获得新闻的网址。我的第一个想法是训练一个模型来识别新闻。但是,我对机器学习很陌生,如果这是解决它的方法,有人可以向我解释如何解决这个问题吗?需要采取哪些步骤。或者,如果这不是最好的方法,还有其他建议吗?谢谢你。
解决方案
如果您实际使用的是新闻网站,那么有一个应用程序称为 news3k。https://github.com/codelucas/newspaper/
您可以使用类似的方式提取所有新闻链接。
response.css(':contains("News")::attr(href)').extract()
您可以使用 xpath 使上述调用更好一些,并在必要时忽略大小写。
我想还有许多其他链接,您希望它从所有站点地图中提取。您可以使用 CrawlSpider 和 linkextractor 规则来抓取这些站点地图......
推荐阅读
- sql - Oracle Query 使用条件获取特定日期
- javascript - 带有反射问题的片段着色器three.js
- c# - 为什么在 asp .net core 2.1 的每次迁移中都会删除种子角色?
- android - 从 onActivityResult 返回后,带有 BottomSheetBehavior 的视图显示在屏幕中央
- java - 运行应用程序时无法将字符串转换为 JSONObject 错误
- rpa - Uipath RPA 自动化屏幕抓取错误
- vue.js - Additionally pushed items are undefined when trying to access via index in v-for loop
- android - Native crash in /system/lib64/libart.so
- jquery - 使用 JQuery 很好地将 HTML 元素添加到 DOM
- node.js - NodeJS website uploaded to Heroku won't load, can't find dependencies for some reason