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

电脑杂谈  发布时间:2019-09-10 15:05:43  来源:网络整理

java存properties文件_ftp下载的文件存在哪_beautifulsoup 存文件

忘记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标记有一点了解,可以再次前进到下一个级别。

<!DOCTYPE html>

<html>

<head>

</head>

beautifulsoup 存文件_java存properties文件_ftp下载的文件存在哪

<body>

<h1> Learning about Data</h1>

<p> Beautiful Soup</p>

<body>

</html>

这是HTML网页的基本词汇。每个<tag>都在网站内部提供一个块:

1.<!DOCTYPE html>:HTML文档需要以类别声明开头。

2. HTML文档包含在<html>和</ html>之间。

3. HTML文档的元和脚本声明位于<head>和</ head>之间。

4. HTML文档的可见部分位于<body>和</ body>标记之间。

5. 标题标题用<h1>到<h6>标签定义。

6. 标签。

其他有用的标记包括<a>用于超链接,<table>用于表,<tr>用于表行,<td>用于表列。

我们来检查您的HTML页面

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

需要额外引用以进行验证。通过向靠谱来源添加引文来优化本文。非资源...

en.wikipedia.org

让我们拿一个维基百科页面进行报废。如果你有谷歌浏览器,然后转到页面,首先右键点击它并开启浏览器检查器以检查网站。

检查维基百科页面

从结果中你可以看见wiki表中的表是可顺序的,如果你检查它更多,你可以在那里找到你所有的表信息,这太棒了啊!看到你可以用beautiful soup做哪些会更倍感惊讶。

可维护的Sortanble

让我们开始您的DIY项目

beautifulsoup 存文件_ftp下载的文件存在哪_java存properties文件

现在我们知道了我们的数据以及所在位置。所以,我们将起初废弃我们的数据。

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

#Import Libraries

from bs4 import BeautifulSoup

import requests

如果您在安装过程中碰到任何难题,可以在每行后面使用sudo。

请求

它从而被人类用于与语言进行通信。这说明您不必手动将查询字符串连接到URL,也不必对POST数据进行字段编码。请求将使您无法使用Python发送HTTP / 1.1请求。在其中,您可以借助简单的Python库组合标题,表单数据,多个别文件和参数等内容。它还使您无法以同样的方法获得Python的响应数据。

BS4 - BeautifulSoup

Beautiful Soup是一个Python库beautifulsoup 存文件,用于从HTML和XML文件中提取数据。它与您最喜欢的解析器一起使用,可以生成自然的操作方法,检查和转化解析树。它一般可以花费程序员数小时或数天的工作量。

# Specify with which URL/web page we are going to be scraping

url = requests.get(‘;).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()函数得到的:

<!DOCTYPE html>

<html class="client-nojs" dir="ltr" lang="en">

beautifulsoup 存文件_java存properties文件_ftp下载的文件存在哪

<head>

<meta charset="utf-8"/>

<title>

List of Asian countries by area - Wikipedia

</title>

<script>

如果您访问此链接并查看我们的欧洲国家/地区的维基百科页面,我们可以发现有关该国家/地区的更多信息。维基百科表已经修改 - 这使我们的工作更容易。

让我们在我们的美化HTML中查看它:

就是这样,从一个HTML <table>标签开始,类标识符为“wikitable sortable”。我们将记住这个类以供以后使用。如果你在你的程序中,你会发现表是怎样构成的,你将看一下使用<tr>和</ tr>标记开始和结束的行。

第一行标题包含<th>标记,而每个上面的数据行都有<td>标记。使用<td>标签,我们将告诉Python保护我们的数据。

在我们起初之前,让我们编写一些Beautiful Soup函数来演示它怎么捕获并可以从HTML网站向我们提供数据。如果我们执行title函数,Beautiful Soup将返回标题的HTML标记以及中的内容。

#To get the title of the page

soup.title()

我们可以使用此信息开始打算对HTML的攻击。

我们了解数据保留在HTML表中,因此首先beautifulsoup 存文件,我们关闭Beautiful Soup以检索页面中所有出现的<table>标记,并将他们添加到名为all_tables的数组中。

# use the 'find_all' function to bring back all instances of the 'table' tag in the HTML and store in 'all_tables' variable

all_tables=soup.find_all("table")

all_tables

在表类' wikitable sortable '下,我们有国家名称成为标题的链接。

# use the 'find_all' function to bring back all instances of the 'table' tag in the HTML and store in 'all_tables' variable

My_table = soup.find('table',{'class':'wikitable sortable'})

My_table

ftp下载的文件存在哪_java存properties文件_beautifulsoup 存文件

在表类' wikitable sortable '下,我们将国家/地区名称成为标题连接。现在,我们将提取<a>中的所有链接,我们使用了find_all()。

links = My_table.findAll('a')

links

从URL中,我们应该提取标题,即国家/地区的名称。为此,我们应该建立一个国家/地区列表,以便我们可以从链接中提取国家/地区名称并将其添加到列表国家/地区。

Countries = []

for link in links:

Countries.append(link.get('title'))

print(Countries)

现在,我们应该将列表国家/地区转换为Pandas DataFrame才能在python中工作。

import pandas as pd

df = pd.DataFrame()

df['Country'] = Countries

df

如果您有兴趣大量删除数据,您需要考量使用Scrapy,一个功能强大的python读取框架,并尝试将您的代码与一些公共API集成。

数据检索的性能显著低于抓取网站。例如,看看Facebook Graph API,它可以帮助您获得未在Facebook网页上显示的隐藏数据。考虑使用像MySQL这样的后端,当它更加太大时收集你的信息。

这让我们走到了beautiful soup教程的尽头。自信地,它为您提供了较好的工作,可以为您的下一个项目进行一些研究。我们终于引入了获得URL和HTML数据的请求,Beautiful Soup解析HTML和Pandas以将数据转化为数据帧以进行恰当的呈现。

你可以在这里找到这个教程笔记本。如果您有疑问,请随时强调。在下一个教程中,我们将探讨API。欢迎在LinkedIn 上与我联系。

参考文献:1.http: //www.gregreda.com/2013/03/03/web-scraping-101-with-python/ 。

2. 。

3. %2BWiki%2Btable%2Busing%2BPython%2Band%2BBeautifulSoup.ipynb

4.

5.

文章来源:medium,作者:。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:william.shi#ucloud.cn(邮箱中#请改为@)进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

后台-系统设定-扩展函数-手机广告位-内容正文底部


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-122407-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 杨侗
        杨侗

        呵呵土豪来炫富了

      • 闫伟伟
        闫伟伟

        猎潜小艇时到还打过几场家门口的海战

      热点图片
      拼命载入中...