我可以抓这种网站吗?

时间:2018-02-27 11:11:35

标签: python web-scraping scrapy scrapy-splash

我现在正在学习python,我想提升我对它的了解,尤其是抓取。我现在正在使用Scrapy并与Splash一起使用它。我想抓一个更具挑战性的网站 - 一个航空公司网站“http://sqlfiddle.com/#!17/bc32e/7” - 我的一位网络开发者朋友告诉我,要刮掉这类网站是不可能的,因为没有返回常规的json或xml文件数据要刮。他说数据只能使用API​​进行访问(他说了一些关于RESTFUL API的东西)我不知道怎么相信他。因此,如果没有浪费我的时间,如果有人可以确认它,我会很高兴,如果有人会说它可以被刮掉,如果那个人可以给我一些关于如何刮掉它并且如果那个人那么动手的话我会更高兴可以出示证明..

非常感谢。

2 个答案:

答案 0 :(得分:1)

您有两个选择:如果他们使用API,请使用他们的graphviz svg output来发出http请求并从他们的服务器获取数据和信息。

或者使用python抓取/网络测试框架,例如scrapy或selenium,直接在python程序中废弃他们的网站。

Scrapy将比本网站上的硒更难,因为很多内容都是动态的,需要自定义代码来触发。硒应该易于使用。

答案 1 :(得分:1)

几乎任何网站都可以被删除,但有些网站比其他网站更棘手。

我建议使用一个名为Selenium的更好的替代品,而不是Scrapy,它恰好也有一个python库。

长篇故事简短:您将以驱动程序的形式启动Web浏览器并导航到您选择的页面并模拟用户交互,例如单击,在表单中输入数据和提交。您还可以运行JavaScript函数。

您可能还想对法律约束进行一些研究,以确保您的操作不是非法的。例如,请参阅瑞安航空有限公司诉PR Aviation BV案例法(案例C-30/14 CJEU)。