2/2データ取得:ネットワークデータの取得

2255 ワード

o.キャプチャ
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 。