目次
1. テスト Web サイト データの構築
1. Web Web サイトを構築する
HTML表格实例,用于提供给Excel和Python读取
2. Web API サービスを構築する
2. Web ページ データのキャプチャ
1. Excel によるキャプチャ
2. Python を使用してキャプチャします
3. Web API サービスを呼び出す
1. Excel を使用して
2. Python を使用して
4、两种方法对比
ホームページ バックエンド開発 Python チュートリアル Excel と Python を使用してインターネットからデータを取得する

Excel と Python を使用してインターネットからデータを取得する

Apr 11, 2023 pm 06:28 PM
excel python データリソース

今日の記事は主に 2 つの部分に分かれており、1 つは Python を使用してデータ Web サイトを構築するもので、もう 1 つは Excel と Python を使用して作成された Web サイトからデータを取得するものです。

1. テスト Web サイト データの構築

Python Flask Web フレームワークを介して Web Web サイトと Web API サービスを構築します。

1. Web Web サイトを構築する

「5-5-WebTable.py」という名前の新しい Python スクリプトを作成し、テーブルを含む単純な Web ページを作成します。構築方法に興味がない場合は、次のコードをスキップして、スクリプト「5-5-WebTable.py」を直接実行して Web サイトを開いてください。

(1) flask パッケージをインストールします。

pip install flask
ログイン後にコピー

(2) テーブルを含む Web ページを構築します。

from flask import Flask

app = Flask(__name__)# 创建Falsk Web应用实例

# 将路由“/”映射到table_info函数,函数返回HTML代码
@app.route('/')
def table_info():

return """<h2 id="HTML表格实例-用于提供给Excel和Python读取">HTML表格实例,用于提供给Excel和Python读取</h2>
<table border="1">
<caption>用户信息表</caption>
<tbody><tr>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
</tr>
<tr>
<td>小米</td>
<td>女</td>
<td>22</td>
</tr>
……….
</tbody></table>"""

if __name__ == '__main__':
app.debug = True# 启用调试模式
app.run()# 运行,网站端口默认为5000
ログイン後にコピー

コマンド「python ./5-5-WebTable.py」を使用して Web サイトを起動し、ブラウザに http://127.0.0.1:5000/ と入力すると、図に示す Web ページのコンテンツが表示されます。 1が表示されます。

Excel と Python を使用してインターネットからデータを取得する

図 1 Flask を使用して構築されたテスト Web サイト

2. Web API サービスを構築する

「5-5」という名前の新しい Web サイトを作成します。 - WebAPI.py」 flask_restplus パッケージを使用して Web API サービスを構築する Python スクリプト。構築方法に興味がない場合は、次のコードをスキップして、スクリプト「5-5-WebAPI.py」を直接実行して Web API サービスを開くことができます。

(1) flask_restplus パッケージをインストールします。

pip install flask-restplus
ログイン後にコピー

(2) 必要なライブラリをインポートし、アプリケーションオブジェクトを初期化します。

from flask import Flask
# Api类是Web API应用的入口,需要用Flask应用程序初始化
from flask_restplus import Api

# Resource类是HTTP请求的资源的基类
from flask_restplus import Resource

# fields类用于定义数据的类型和格式
from flask_restplus import fields

app = Flask(__name__)# 创建Falsk Web应用实例

# 在flask应用的基础上构建flask_restplusApi对象
api = Api(app, version='1.0',
title='Excel集成Python数据分析-测试用WebAPI',
description='测试用WebAPI', )

# 使用namespace函数生成命名空间,用于为资源分组
ns = api.namespace('ExcelPythonTest', description='Excel与Python Web API测试')
# 使用api.model函数生成模型对象
todo = api.model('task_model', {
'id': fields.Integer(readonly=True,
 description='ETL任务唯一标识'),
'task': fields.String(required=True,
description='ETL任务详情')
})
ログイン後にコピー

(3) Web API データ操作クラス。追加、削除、変更、クエリなどのメソッドが含まれます。

class TodoDAO(object):

def __init__(self):
self.counter = 0
self.todos = []

def get(self, id):
for todo in self.todos:
if todo['id'] == id:
return todo
api.abort(404, "ETL任务 {} 不存在".format(id))

def create(self, data):
todo = data
todo['id'] = self.counter = self.counter + 1
self.todos.append(todo)
return todo

# 实例化数据操作,创建3条测试数据
DAO = TodoDAO()
DAO.create({'task': 'ETL-抽取数据操作'})
DAO.create({'task': 'ETL-数据清洗转换'})
DAO.create({'task': 'ETL-数据加载操作'})
ログイン後にコピー

(4) Web APIのルーティングマッピングを構築します。

HTTP リソース要求クラスは Resource クラスを継承し、使用できる HTTP メソッドを指定しながら、さまざまなルートにマップします。

@ns.route('/')# 路由“/”对应的资源类为TodoList,可使用get方法和post方法进行请求
class TodoList(Resource):
@ns.doc('list_todos')# @doc装饰器对应API文档的信息
@ns.marshal_list_with(todo)# @marshal_xxx装饰器对模型数据进行格式转换与输出
def get(self):# 定义get方法获取所有的任务信息
return DAO.todos

@ns.doc('create_todo')
@ns.expect(todo)
@ns.marshal_with(todo, code=201)
def post(self):# 定义post方法获取所有的任务信息
return DAO.create(api.payload), 201

# 路由/<int:id>对应的资源类为Todo,可使用get、delete、put方法进行请求
@ns.route('/<int:id>')
@ns.response(404, '未发现相关ETL任务')
@ns.param('id', 'ETL任务ID号')
class Todo(Resource):
@ns.doc('get_todo')
@ns.marshal_with(todo)
def get(self, id):
return DAO.get(id)

@ns.doc('delete_todo')
@ns.response(204, 'ETL任务已经删除')
def delete(self, id):
DAO.delete(id)
return '', 204

@ns.expect(todo)
@ns.marshal_with(todo)
def put(self, id):
return DAO.update(id, api.payload)

if __name__ == '__main__':
app.run(debug=True, port=8000)# 启动Web API服务,端口为8000
ログイン後にコピー

(4) Web APIサービスを起動します。

コマンド「python ./5-5-WebAPI.py」を使用して Web API サービスを開始し、ブラウザに「http://127.0.0.1:8000/」と入力します (図 5-)。 23 Web API サービスのリクエストメソッドの一覧を示します。

Excel と Python を使用してインターネットからデータを取得する

図 2 WebAPI サービス リクエスト メソッドのリスト

2. Web ページ データのキャプチャ

Excel には「データ」からアクセスできます。タブ 「Web サイトから」機能は、Web ページのデータをキャプチャします。 Python は、リクエスト ライブラリ、Beautiful Soup パッケージ、および Scrapy フレームワークを使用して Web ページ データをクロールできます。

1. Excel によるキャプチャ

「データ」→「他のソースから」→「Web サイトから」機能をクリックします。 Excel が読み取ることができる Web ページ データには制限があります。動的 Web ページ データは自動認識できず、テーブル以外のデータは自動認識できません。

(1) 「データ」→「他のソースから」→「Web サイトから」機能をクリックします。

(2) 5.5.1項のWebサイトが開いていることを確認してください。

(3) Web サイトの URL アドレス「http://127.0.0.1:5000/」を入力します。

「詳細設定」ボタンをクリックして、さらに詳細な HTTP リクエスト情報を設定し、「」をクリックします。図 3 に示すように、「OK」ボタンをクリックします。

Excel と Python を使用してインターネットからデータを取得する

図3 読み込むWebサイトのURLの設定

(4) 「ナビゲータ」画面でデータのインポートを選択します。

図 4 に示すように、Excel は Web ページ内のテーブル データを自動的に認識し、テーブル名を選択して [読み込み] ボタンをクリックします。

Excel と Python を使用してインターネットからデータを取得する

図 4 Excel は Web ページ内のテーブル データを自動的に認識します

2. Python を使用してキャプチャします

次は、リクエスト ライブラリの使用方法を示します。次に、Web ページ全体のデータを使用して、Beautiful Soup を使用して Web ページを解析します。本書のコード資料ファイル「5-5-web.ipynb」を参照して学習してください。

(1) リクエストを通じて Web ページ データを読み取ります。

import requests #导入requests包
url ='http://127.0.0.1:5000/'

strhtml= requests.get(url) #使用get方法请求网页数据
ログイン後にコピー

(2) Beautiful Soup を通じて Web ページを解析します。

from bs4 import BeautifulSoup

soup = BeautifulSoup(strhtml.text)# 将网页内容作为参数,创建soup对象
table = soup.find('table')# 查找网页中的table元素
table_body = table.find('tbody')# 查找table元素中的tbody元素
data = []
rows = table_body.find_all('tr')# 查找表中的所有tr元素

for row in rows:# 遍历数据
cols = row.find_all('td')
cols = [ele.text.strip() for ele in cols]
data.append([ele for ele in cols if ele])
# 结果输出:[[],
['小米', '女', '22'],['小明','男','23'],……
ログイン後にコピー

3. Web API サービスを呼び出す

Excel は、[データ] タブの [セルフ Web サイト] 機能を通じて Web API サービスを呼び出すことができます。 Python は、リクエスト ライブラリ、Beautiful Soup パッケージ、および Scrapy フレームワークを使用して Web API を呼び出してデータを取得できます。

1. Excel を使用して

(1) 5.5.1 項で記述した Web API サービスが開始されていることを確認します。

(2) Web API メソッドに対応する URL を入力します: http://127.0.0.1:8000/ExcelPythonTest/。

(3) 返されたデータを処理します。

Web API サービスを呼び出すと、データが JSON 形式で返され、JSON データはセクション 5.4.3 で紹介した方法に従って処理されます。

2. Python を使用して

リクエスト ライブラリを使用して Web API メソッドを呼び出し、返された JSON データを処理します。読者はコード素材ファイル「5-5- api.ipynb』の本書『学ぶこと。

import requests#导入requests包
url ='http://127.0.0.1:8000/ExcelPythonTest/'

strhtml= requests.get(url)#使用get方法获取网页数据

import pandas as pd

frame= pd.read_json(strhtml.text)#使用Pandas包中的read_json函数
print(frame)
#结果输出:
id task
0 1 ETL-抽取数据操作
1 2 ETL-数据清洗转换
2 3 ETL-数据加载操作
ログイン後にコピー

4、两种方法对比

表1所示为Excel和Python抓取互联网数据方法的对比。需要注意Excel从互联网抓取数据的功能并不完善。

表1   Excel和Python抓取互联网数据方法对比

Excel と Python を使用してインターネットからデータを取得する

以上がExcel と Python を使用してインターネットからデータを取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

CentosのPytorchのGPUサポートはどのようにサポートされていますか CentosのPytorchのGPUサポートはどのようにサポートされていますか Apr 14, 2025 pm 06:48 PM

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

Python vs. JavaScript:コミュニティ、ライブラリ、リソース Python vs. JavaScript:コミュニティ、ライブラリ、リソース Apr 15, 2025 am 12:16 AM

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

ミニオペンCentosの互換性 ミニオペンCentosの互換性 Apr 14, 2025 pm 05:45 PM

MINIOオブジェクトストレージ:CENTOSシステムの下での高性能展開Minioは、Amazons3と互換性のあるGO言語に基づいて開発された高性能の分散オブジェクトストレージシステムです。 Java、Python、JavaScript、Goなど、さまざまなクライアント言語をサポートしています。この記事では、CentosシステムへのMinioのインストールと互換性を簡単に紹介します。 Centosバージョンの互換性Minioは、Centos7.9を含むがこれらに限定されない複数のCentosバージョンで検証されています。

CentosでPytorchの分散トレーニングを操作する方法 CentosでPytorchの分散トレーニングを操作する方法 Apr 14, 2025 pm 06:36 PM

Pytorchの分散トレーニングでは、Centosシステムでトレーニングには次の手順が必要です。Pytorchのインストール:PythonとPipがCentosシステムにインストールされていることです。 CUDAバージョンに応じて、Pytorchの公式Webサイトから適切なインストールコマンドを入手してください。 CPUのみのトレーニングには、次のコマンドを使用できます。PipinstalltorchtorchtorchvisionTorchaudioGPUサポートが必要な場合は、CUDAとCUDNNの対応するバージョンがインストールされ、インストールに対応するPytorchバージョンを使用してください。分散環境構成:分散トレーニングには、通常、複数のマシンまたは単一マシンの複数GPUが必要です。場所

CentosでPytorchバージョンを選択する方法 CentosでPytorchバージョンを選択する方法 Apr 14, 2025 pm 06:51 PM

PytorchをCentosシステムにインストールする場合、適切なバージョンを慎重に選択し、次の重要な要因を検討する必要があります。1。システム環境互換性:オペレーティングシステム:Centos7以上を使用することをお勧めします。 Cuda and Cudnn:PytorchバージョンとCudaバージョンは密接に関連しています。たとえば、pytorch1.9.0にはcuda11.1が必要ですが、pytorch2.0.1にはcuda11.3が必要です。 CUDNNバージョンは、CUDAバージョンとも一致する必要があります。 Pytorchバージョンを選択する前に、互換性のあるCUDAおよびCUDNNバージョンがインストールされていることを確認してください。 Pythonバージョン:Pytorch公式支店

PytorchをCentosの最新バージョンに更新する方法 PytorchをCentosの最新バージョンに更新する方法 Apr 14, 2025 pm 06:15 PM

PytorchをCentosの最新バージョンに更新すると、次の手順に従うことができます。方法1:PIPでPIPを更新する:最初にPIPが最新バージョンであることを確認します。これは、PIPの古いバージョンがPytorchの最新バージョンを適切にインストールできない可能性があるためです。 pipinstall- upgradepipアンインストール古いバージョンのpytorch(インストールの場合):pipuninstorchtorchtorchvisiontorchaudioインストール最新

See all articles