pythonでWEBスクレイピングサンプル

pythonでWEBページからHTMLを取得する


Requests インストール(環境構築

> pip3 install requests

WEBページからHTMLを取得するサンプル作成

RequestSample.py
import requests
r = requests.get('https://www.google.com/?hl=ja')
print(r.headers)
print("--------")
print(r.encoding)
print("--------")
print(r.content)

WEBページからHTMLを取得するサンプル実行

> python RequestsSample.py
{'Link': '</?hl=ja>;rel="canonical"', 'Date': 'Fri, 16 Oct 2020 15:47:56 GMT', 'Expires': '-1', 'Cache-Control': 'private, max-age=0', 'Content-Type': 'text/html; charset=Shift_JIS', 'P3P': 'CP="This is not a P3P policy! See g.co/p3phelp for more info."', 'Content-Encoding': 
'gzip', 'Server': 'gws', 'X-XSS-Protection': '0', 'X-Frame-Options': 'SAMEORIGIN', 'Set-Cookie': '1P_JAR=2020-10-16-15; expires=Sun, 15-Nov-2020 15:47:56 GMT; path=/; domain=.google.com; Secure, NID=204=BULmdZiZY9fvyIQDbqYIqUYijaJIu-JTEYeqNSITXpAd06xhpeuNTOkxDkDlOSy8Ldt5M5FLWkc3yoV_nWQgrqrMrl1Hi8cN8AJMitfaft5KeGiUicxZNAlqmcF_1_3CPnq0D64bMGxpw1rDVz121EP23mzvc7xatSpdYa7mNbU; expires=Sat, 17-Apr-2021 15:47:56 GMT; path=/; domain=.google.com; HttpOnly', 'Alt-Svc': 'h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-27=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"', 'Transfer-Encoding': 'chunked'}
--------
Shift_JIS
--------
b'<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="ja"><head><meta content="\x90\xa2\x8aE\x92\x86\x82\xcc\x82\xa0\x82\xe7\x82\xe4\x82\xe9\x8f\xee\x95\xf1\x82\xf0\x8c\x9f\x8d\xf5\x82\xb7\x82\xe9\x82\xbd\x82\xdf\x82\xcc\x83c\x81[\x83\x8b\x82\xf0\x92\xf1\x8b\x9f\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81B\x82\xb3\x82\xdc\x82\xb4\x82\xdc\x82\xc8\x8c\x9f\x8d\xf5\x8b@\x94\\\x82\xf0\x8a\x88\x97p\x82\xb5\x82\xc4\x81A\x82\xa8\x92T\x82\xb5\x82\xcc\x8f\xee\x95\xf1\x82\xf0\x8c\xa9\x82\xc2\x82\xaf\x82\xc4\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81B" name="description"><meta content="noodp" name="robots"><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><meta content="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop="image"><title>Google</title><script nonce="wlrScGQMTKzJe64Z+jQvSA==">(function(){window.google={kEI:\'rMCJX8-lBpa-wAOm55OYDQ\',kEXPI:\'0,18167,183
<割愛>



pythonで取得したHTMLを解析する


Beautiful Soup インストール(環境構築

> pip3 install beautifulsoup4

HTMLを解析するサンプル作成

BeautifulSoupSample.py
import requests
from bs4 import BeautifulSoup
 
r = requests.get('https://www.google.com/?hl=ja')
 
print(r.headers)
print("--------")
print(r.encoding)
print("--------")
print(r.content)
print("--------")

html = r.content
soupContent = BeautifulSoup(html, "html.parser")

print(soupContent.select("input"))

HTMLを解析するサンプル実行

> python BeautifulSoupSample.py
{'Link': '</?hl=ja>;rel="canonical"', 'Date': 'Fri, 16 Oct 2020 15:47:56 GMT', 'Expires': '-1', 'Cache-Control': 'private, max-age=0', 'Content-Type': 'text/html; charset=Shift_JIS', 'P3P': 'CP="This is not a P3P policy! See g.co/p3phelp for more info."', 'Content-Encoding': 
'gzip', 'Server': 'gws', 'X-XSS-Protection': '0', 'X-Frame-Options': 'SAMEORIGIN', 'Set-Cookie': '1P_JAR=2020-10-16-15; expires=Sun, 15-Nov-2020 15:47:56 GMT; path=/; domain=.google.com; Secure, NID=204=BULmdZiZY9fvyIQDbqYIqUYijaJIu-JTEYeqNSITXpAd06xhpeuNTOkxDkDlOSy8Ldt5M5FLWkc3yoV_nWQgrqrMrl1Hi8cN8AJMitfaft5KeGiUicxZNAlqmcF_1_3CPnq0D64bMGxpw1rDVz121EP23mzvc7xatSpdYa7mNbU; expires=Sat, 17-Apr-2021 15:47:56 GMT; path=/; domain=.google.com; HttpOnly', 'Alt-Svc': 'h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-27=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"', 'Transfer-Encoding': 'chunked'}
--------
Shift_JIS
--------
b'<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="ja"><head><meta content="\x90\xa2\x8aE\x92\x86\x82\xcc\x82\xa0\x82\xe7\x82\xe4\x82\xe9\x8f\xee\x95\xf1\x82\xf0\x8c\x9f\x8d\xf5\x82\xb7\x82\xe9\x82\xbd\x82\xdf\x82\xcc\x83c\x81[\x83\x8b\x82\xf0\x92\xf1\x8b\x9f\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81B\x82\xb3\x82\xdc\x82\xb4\x82\xdc\x82\xc8\x8c\x9f\x8d\xf5\x8b@\x94\\\x82\xf0\x8a\x88\x97p\x82\xb5\x82\xc4\x81A\x82\xa8\x92T\x82\xb5\x82\xcc\x8f\xee\x95\xf1\x82\xf0\x8c\xa9\x82\xc2\x82\xaf\x82\xc4\x82\xad\x82\xbe\x82\xb3\x82\xa2\x81B" name="description"><meta content="noodp" name="robots"><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><meta content="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop="image"><title>Google</title><script nonce="wlrScGQMTKzJe64Z+jQvSA==">(function(){window.google={kEI:\'rMCJX8-lBpa-wAOm55OYDQ\',kEXPI:\'0,18167,183
<割愛>
--------
[<input name="ie" type="hidden" value="Shift_JIS"/>, <input name="hl" type="hidden" value="ja"/>, <input name="source" type="hidden" value="hp"/>, <input name="biw" type="hidden"/>, <input name="bih" type="hidden"/>, <input autocomplete="off" class="lst" maxlength="2048" name="q" size="57" style="margin:0;padding:5px 8px 0 6px;vertical-align:top;color:#000" title="Google 検索" value=""/>, <input class="lsb" name="btnG" type="submit" value="Google 検索"/>, 
<input class="lsb" id="tsuid1" name="btnI" type="submit" value="I'm Feeling Lucky"/>, <input name="iflsig" type="hidden" value="AINFCbYAAAAAX4nRbsYwBBGoQL9wAdR7ZIFa0eYZJDsI"/>, <input 
id="gbv" name="gbv" type="hidden" value="1"/>]

コメントの投稿

非公開コメント

検索フォーム
カテゴリ
AWS (5)
カレンダー
11 | 2021/12 | 01
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
最新記事
おすすめ

RSSリンクの表示
リンク
QRコード
QR