资讯专栏INFORMATION COLUMN

忘记API 使用Beautiful Soup进行Python Scraping,从Web导入数据文件

wayneli / 2114人阅读

摘要:忘记使用进行,从导入数据文件第部分对于每个网站而言,并不总是适合您,但将永远与您保持联系以从任何网站收集任何类型的数据。非资源让我们拿一个维基百科页面进行报废。请求它旨在被人类用于与语言进行通信。使用标签,我们将告诉保护我们的数据。

忘记API使用Beautiful Soup进行Python Scraping,从Web导入数据文件:第2部分

对于每个网站而言,API并不总是适合您,但Beautiful Soup将永远与您保持联系以从任何网站收集任何类型的数据。

Souce:gurutechnolabs.com

今天,数据发挥在每一个行业的关键作用。大部分数据都来自互联网。大多数公司在一项技术上投入数百万美元来获得用户,而没有从投资产品回报中获利。互联网是如此庞大,它包含有关一个主题的更多信息,而不是你的书呆子教授。
从网络中提取信息的需求和重要性变得越来越响亮和清晰。大部分时间,当我们在您的脸书,推特,LinkedIn中添加任何信息并提供有关Yelp的反馈时,此信息将被视为数据。

而来自互联网的这类数据有很多不同的方式,例如评论,餐厅对Yelp的反馈,Twitter讨论,Reddit用户讨论和股票价格等。您可以收集所有这些数据,组织并分析它。这就是我们将在本教程中讨论的内容。
有几种从Internet提取或导入数据的方法。您可以使用API​​从任何主要网站检索信息。这就是每个人现在用来从互联网导入数据的东西 - 所有主要网站,如Twitter,Twitch,Instagram,Facebook都提供API来访问他们的网站数据集。所有这些数据都以结构化形式提供。
但是大多数网站都没有提供API。我认为他们不希望我们使用他们的用户数据,或者他们因为缺乏知识而不提供这些数据。
因此,在本主题中,我们将在不使用任何API的情况下从Web导入数据。但在我们处理之前,请看一下本系列的第1部分,因为所有内容都像点一样连接。

你不了解数据文件的东西如果你只是数据科学的入门者,导入数据文件...

如果你是数据科学领域的新手,那么你必须努力学习数据科学概念如此之快。现在......
朝向distascience.com 
什么是Beautiful Soup

不要写那个糟糕的页面(来源:crummy.com)

Beautiful Soup是废弃特定网站或互联网数据的最佳图书馆。也是最舒适的工作。它从HTML解析和提取结构化数据。Beautiful Soup会自动将传入的文本转换为Unicode,将传出的版本转换为UTF-8。除了文档没有定义编码之外,您不必记住编码,而Beautiful Soup也无法捕获编码。然后你必须提到原始编码。

规则:要运行您的程序,请使用Jupyter python环境来运行您的程序。而不是一次运行整个程序。我们只是采取了预防措施,因此您的计划不会破坏网站。在开始从那里提取数据之前,请查看网站条款和条件。请务必阅读有关数据合法使用的声明。
基础 - 熟悉HTML
HTML代码在从网站提取数据方面起着至关重要的作用。因此,在我们处理之前,让我们跳转到HTML标记的基础。如果您对HTML标记有一点了解,可以继续前进到下一个级别。

 
 
   
   
   
       

Learning about Data


       

Beautiful Soup


   

这是HTML网页的基本语法。每个都在网页内部提供一个块:
1.<!DOCTYPE html>:HTML文档必须以类型声明开头。
2. HTML文档包含在和之间。
3. HTML文档的元和脚本声明位于和之间。
4. HTML文档的可见部分位于和标记之间。
5. 标题标题用

标签定义。
6. 标签。

其他有用的标记包括用于超链接,

用于表,用于表行,
用于表列。

我们来检查您的HTML页面

按地区划分的亚洲国家列表 - 维基百科

需要额外引用以进行验证。通过向可靠来源添加引文来改进本文。非资源...
en.wikipedia.org 
让我们拿一个维基百科页面进行报废。如果你有谷歌浏览器,然后转到页面,首先右键单击它并打开浏览器检查器以检查网页。

检查维基百科页面

从结果中你可以看到wiki表中的表是可排序的,如果你检查它更多,你可以在那里找到你所有的表信息,这太棒了啊!看到你可以用beautiful soup做什么会更令人惊讶。

 


可维护的Sortanble

让我们开始您的DIY项目
现在我们了解了我们的数据及其所在位置。所以,我们将开始废弃我们的数据。

在我们处理之前,您需要安装或导入一些库。

#Import Libraries
from bs4 import BeautifulSoup
import requests

如果您在安装过程中遇到任何问题,可以在每行前面使用sudo。

请求
它旨在被人类用于与语言进行通信。这表明您不必手动将查询字符串连接到URL,也不必对POST数据进行表单编码。请求将使您能够使用Python发送HTTP / 1.1请求。在其中,您可以通过简单的Python库组合标题,表单数据,多部分文件和参数等内容。它还使您能够以相同的方式获取Python的响应数据。

BS4 - BeautifulSoup
Beautiful Soup是一个Python库,用于从HTML和XML文件中提取数据。它与您最喜欢的解析器一起使用,可以生成自然的操作方式,检查和转换解析树。它通常可以节省程序员数小时或数天的工作量。

# Specify with which URL/web page we are going to be scraping
url = requests.get(‘https://en.wikipedia.org/wiki/List_of_Asian_countries_by_area’).text

我们首先研究给定网页的源代码并使用BeautifulSoup函数构建BeautifulSoup(汤)对象。现在,我们需要使用Beautiful Soap函数,这将帮助我们解析并应用从Wikipedia页面获取的HTML :

# import the BeautifulSoup library so we can parse HTML and XML documents
from bs4 import BeautifulSoup

然后我们将使用Beautiful Soup来解析我们在“URL”变量中收集的HTML数据,并分配一个不同的变量来存储名为“Soup”的Beautiful Soup格式的数据。

#Parse the HTML from our URL into the BeautifulSoup parse tree format
soup = BeautifulSoup(url, "lxml")

要在我们的网页中获得基础HTML结构的概念,请使用Beautiful Soup的美化功能并进行检查。

#To look at the HTML underlying to the web
print(soup.prettify())

这是我们从prettify()函数得到的:



 
 
  <br />    List of Asian countries by area - Wikipedia<br />  
 

阅读需要支付1元查看
<