halo,大家好,我是特仑苏,今天呢给大家分享一些Python从网站抓取数据的一些方法,希望可以给大家带来一些帮助!

原作者:Octoparse团队

在过去的几年中,爬网数据的需求变得越来越大。爬网的数据可用于不同字段中的评估或预测。在这里,我想谈谈我们可以采用的三种方法来从网站爬网数据。

1.使用网站API

许多大型社交媒体网站,例如Facebook,Twitter,Instagram,StackOverflow,都提供API供用户访问其数据。有时,您可以选择官方API来获取结构化数据。如下面的Facebook Graph API所示,您需要选择进行查询的字段,然后订购数据,执行URL查找,发出请求等。要了解更多信息,请参阅https://developers.facebook.com/ docs / graph-api / using-graph-api。





python 爬取facebook 怎么爬取facebook数据_Web


2.建立自己的搜寻器

但是,并非所有网站都为用户提供API。某些网站由于技术限制或其他原因拒绝提供任何公共API。有人可能会提出RSS提要,但是由于限制了它们的使用,因此我不会对此提出建议或发表评论。在这种情况下,我想讨论的是我们可以自行构建爬虫来处理这种情况。

搜寻器如何工作?换句话说,搜寻器是一种生成可以通过提取程序提供的URL列表的方法。可以将搜寻器定义为查找URL的工具。首先,您要为搜寻器提供一个要启动的网页,它们将跟随该页面上的所有这些链接。然后,此过程将继续循环进行。


python 爬取facebook 怎么爬取facebook数据_python 爬取facebook_02


然后,我们可以继续构建自己的搜寻器。众所周知,Python是一种开放源代码编程语言,您可以找到许多有用的函数库。在这里,我建议使用BeautifulSoup(Python库),因为它易于使用并且具有许多直观的字符。更确切地说,我将利用两个Python模块来爬网数据。

BeautifulSoup无法为我们获取网页。这就是为什么我将urllib2与BeautifulSoup库结合使用的原因。然后,我们需要处理HTML标记,以找到页面<a>标记和右表中的所有链接。之后,遍历每一行(tr),然后将tr(td)的每个元素分配给一个变量,并将其附加到列表中。首先让我们看一下表的HTML结构(我将不提取表标题<th>的信息)。

通过采用这种方法,您的搜寻器是自定义的。它可以处理API提取中遇到的某些困难。您可以使用代理来防止它被某些网站等阻止。整个过程在您的控制之内。这种方法对于具有编码技能的人应该是有意义的。您抓取的数据框应类似于下图。


python 爬取facebook 怎么爬取facebook数据_python 爬取facebook_03


3.利用现成的爬虫工具

但是,通过编程自行爬网网站可能很耗时。对于没有任何编码技能的人来说,这将是一项艰巨的任务。因此,我想介绍一些搜寻器工具。

Octave analysis

Octoparse是一个功能强大的基于Visual Windows的Web数据搜寻器。用户使用其简单友好的用户界面即可轻松掌握此工具。要使用它,您需要在本地桌面上下载此应用程序。

如下图所示,您可以在“工作流设计器”窗格中单击并拖动这些块以自定义您自己的任务。Octoparse提供了两种版本的爬网服务订阅计划-免费版和付费版。两者都可以满足用户的基本抓取或抓取需求。使用免费版,您可以在本地运行任务。


python 爬取facebook 怎么爬取facebook数据_数据_04


如果将免费版切换为付费版,则可以通过将任务上载到Cloud Platform 来使用基于Cloud的服务。6到14台云服务器将以更高的速度同时运行您的任务,并进行更大范围的爬网。另外,您可以使用Octoparse的匿名代理功能自动进行数据提取,而不会留下任何痕迹,该功能可以轮流使用大量IP,这可以防止您被某些网站阻止。这是介绍Octoparse云提取的视频。

Octoparse还提供API,将您的系统实时连接到您的抓取数据。您可以将Octoparse数据导入您自己的数据库,也可以使用API要求访问您帐户的数据。完成任务的配置后,您可以将数据导出为各种格式,例如CSV,Excel,HTML,TXT和数据库(MySQL,SQL Server和Oracle)。

Import

http://Import.io也称为Web搜寻器,涵盖所有不同级别的搜寻需求。它提供了一个魔术工具,可以将站点转换为表格,而无需任何培训。如果需要抓取更复杂的网站,建议用户下载其桌面应用程序。构建完API后,它们会提供许多简单的集成选项,例如Google Sheets,http://Plot.ly,Excel以及GET和POST请求。当您认为所有这些都带有终身免费价格标签和强大的支持团队时,http://import.io无疑是那些寻求结构化数据的人的首要选择。它们还为寻求更大规模或更复杂数据提取的公司提供了企业级付费选项。


python 爬取facebook 怎么爬取facebook数据_数据_05


Benshanda

Mozenda是另一个用户友好的Web数据提取器。它具有指向用户的点击式UI,无需任何编码技能即可使用。Mozenda还消除了自动化和发布提取数据的麻烦。告诉Mozenda一次您想要什么数据,然后无论需要多少次就获取它。另外,它允许使用REST API进行高级编程,用户可以直接与Mozenda帐户连接。它还提供基于云的服务以及IP的轮换。


python 爬取facebook 怎么爬取facebook数据_系统检测到您正在使用网页抓取工具访问_06


Scraping frame

SEO专家,在线营销人员甚至垃圾邮件发送者都应该非常熟悉ScrapeBox,它具有非常友好的用户界面。用户可以轻松地从网站上收集数据以获取电子邮件,检查页面排名,验证工作代理和RSS提交。通过使用成千上万的旋转代理,您将可以隐瞒竞争对手的网站关键字,在.gov网站上进行研究,收集数据并发表评论,而不会被阻止或检测到。


python 爬取facebook 怎么爬取facebook数据_系统检测到您正在使用网页抓取工具访问_07


Google Web Scraper插件

如果人们只是想以简单的方式抓取数据,建议您选择Google Web Scraper插件。它是基于浏览器的网络抓取工具,其工作方式类似于Firefox的Outwit Hub。您可以下载它作为扩展,并将其安装在浏览器中。您需要突出显示要爬网的数据字段,右键单击并选择“ Scrape like…”。与您突出显示的内容类似的任何内容都将呈现在准备导出的表中,并且与Google文档兼容。最新版本在电子表格上仍然存在一些错误。尽管它易于操作,但要引起所有用户注意,但它不能刮擦图像并大量抓取数据。


python 爬取facebook 怎么爬取facebook数据_python 爬取facebook_08