2/2データ取得:ネットワークデータの取得
2255 ワード
o.キャプチャ
1.urllib内にモジュールを構築する—urllib.request
2.Request第三方倉庫
注:あるウェブサイトは自分の爬虫類協議があります。例えば、豆板網(豆瓣網)https://book.douban.com/robots.txt)「robots.txt」があると存在を説明します。
基本的な方法
説明
request.get()
指定されたURL位置のリソースを取得し、HTTPプロトコルに対応するGET方法を要求する。
Request要求情報とサーバからのReponse応答情報を含むRequessオブジェクトを要求します。Requestsはサーバからの情報を自動的に復号します。応答内容がバイナリ形式であると仮定すると、re.textはテキストを自動的に推測して符号化し、復号し、re.encodingはテキスト符号化を修正することができる。
o.解析
1.Beautiful SoupライブラリBeautiful Soupは、HTMLまたはXMLファイルからデータを抽出できるPythonライブラリです。公式サイト:https://www.crummy.com/software/BeautifulSoup/bs4/doc 。
Beautiful Soup対象
説明
Tag
HTMLまたはXMLドキュメントのラベル。Tag属性の操作は辞書と同じです。Tagオブジェクトの最も重要な属性はname(名前を得る)とatribute()を含む。
Beautiful Soup
ほとんどの内容はTagです。
Navigable String
Tag中の文字列。Navigable Stringオブジェクトはstring属性で表され、Tagに含まれる非属性の文字列をとることができる。
コメント
Navigable Stringのサブクラス
1.urllib内にモジュールを構築する—urllib.request
2.Request第三方倉庫
**Request :**
Requestsライブラリは最も簡単で便利で、人間的なPython HTTPの第三者ライブラリです。Requests公式サイト:http://www.python-requests.org/ 。 注:あるウェブサイトは自分の爬虫類協議があります。例えば、豆板網(豆瓣網)https://book.douban.com/robots.txt)「robots.txt」があると存在を説明します。
基本的な方法
説明
request.get()
指定されたURL位置のリソースを取得し、HTTPプロトコルに対応するGET方法を要求する。
Request要求情報とサーバからのReponse応答情報を含むRequessオブジェクトを要求します。Requestsはサーバからの情報を自動的に復号します。応答内容がバイナリ形式であると仮定すると、re.textはテキストを自動的に推測して符号化し、復号し、re.encodingはテキスト符号化を修正することができる。
import requests
r = requests.get('https://book.douban.com/subject/1084336/comments/')
r.status_code
Out[4]: 200
r.text
import requests
re = requests.get('http://money.cnn.com/data/dow30')
print(re.text)
3.Srapyフレームo.解析
1.Beautiful SoupライブラリBeautiful Soupは、HTMLまたはXMLファイルからデータを抽出できるPythonライブラリです。公式サイト:https://www.crummy.com/software/BeautifulSoup/bs4/doc 。
Beautiful Soup対象
説明
Tag
HTMLまたはXMLドキュメントのラベル。Tag属性の操作は辞書と同じです。Tagオブジェクトの最も重要な属性はname(名前を得る)とatribute()を含む。
Beautiful Soup
ほとんどの内容はTagです。
Navigable String
Tag中の文字列。Navigable Stringオブジェクトはstring属性で表され、Tagに含まれる非属性の文字列をとることができる。
コメント
Navigable Stringのサブクラス
from bs4 import BeautifulSoup
markup = 'The Little Prince
' #
soup = BeautifulSoup(markup, 'lxml') # BeautifulSoup soup
soup.b # “BeautifulSoup .tag”
Out[22]: The Little Prince
type(soup.b) #
Out[23]: bs4.element.Tag
tag = soup.p
tag.name # name
Out[25]: 'p'
tag.attrs
Out[26]: {'class': ['title']}
tag['class'] #
Out[27]: ['title']
tag.string # NavigableString string
Out[28]: 'The Little Prince'
type(tag.string)
Out[29]: bs4.element.NavigableString
soup.find_all('b') # b
Out[30]: [The Little Prince]
soup.find()#
Out[31]: The Little Prince
2.reモジュール(正規表現モジュール)re正規表現モジュールは、各種正規表現処理を行います。参考サイト:https://docs.python.org/3.5/library/re.html 。