1.登録中文大学MOOC
2.北京理工大学宋日の教師「のPythonのWebクローラや情報抽出」MOOCのコースを選択し
、それぞれの週、4週目の最初の0週間のコースを完了するために学び、ジョブを完了3.
4.学習プロセスを証明するために、学習の進捗を表示する画像やウェブサイトを提供
5.学習経験と利益について話す、研究ノートの1,000未満の単語を書きます。
最初の週のメモ:
PythonのWebクローラーと情報抽出:
コンテンツはに分かれています。
リクエスト:自動クロールのHTML ページ自動ネットワーク要求提出
robots.txtの:ウェブクローラ除外基準
スープ美しい:解析HTMLのページ
プロジェクト:実際のアイテムA / B
日時:正規表現の詳細エキス鍵情報ページ
Scrapy :クローラ原理導入プロ爬虫類のフレームワークが導入します
管理者として実行センチ、実行PIPがリクエストをインストールします。
リクエスト図書館2つの重要なオブジェクト:リクエスト、レスポンスは、レスポンス爬虫類の内容を含むオブジェクトを理解して使用返されました。
HTTPのプロトコルと要求ライブラリ方法を:
リクエスト図書館7 の主な方法:
requests.request():リクエスト、基礎工法を支援する以下の方法を構築
requests.get():取得したHTML mainメソッドのページを、対応するHTTP のGET
requests.head():取得したHTML ページのヘッダ情報を、対応する方法HTTPであるHEAD
requests.post():HTML 提出ページのPOST リクエストメソッドに対応するHTTP し、POST
requests.put():HTML 提出ページのPUT に相当するリクエストメソッドHTTP のPUT
requests.patch():HTML に対応したローカルページ変更要求提出するHTTPをするためにパッチを
requests.delete():HTMLがに対応する、ページを削除する要求を送信するHTTP のDELETE
週ノート:
BeautifulSoupの管理者として実行インストールするためのライブラリ、CMD 、実行はbeautifulsoup4をインストールPIP。
Beautifulsoupが解決され、カレンダー、メンテナンス「番号ラベル」関数ライブラリしばらく、BeautifulSoup のような基本的な要素:
タグ(それぞれラベル、基本的な情報組織単位、<> と</>は、のいずれかの存在の始まりと終わりを示すHTMLのタグ構文を使用することができますスープを。<タグ> のアクセスが得られ、時にHTMLの倍数で文書同じ<タグ> 、対応するコンテンツ、。スープ<タグ>は、最初のを返します。)。
属性(属性タグ、辞書に編成形式:<タグ>はは.attrs 。<タグ> 持つことができます0 以上の属性を、辞書を)。
名前名前(ラベル、<P-> ... </ p型> 名前「は、P 」、フォーマット:<タグ> .nameの各<タグ> 持っている自身の名前、によって.nameの<タグ> 買収、文字列型)。
NavigableString(非属性文字列タグ、<> ... </> 文字列フォーマット:<タグ> .string 。複数の層にまたがることができます)。
コメント(文字列、特別のタグ部注意コメント型);
ベースの BS4のライブラリHTML コンテンツトラバーサル:
想起 HTMLを、 <> ... </> タグのツリー構造を形成するために、それぞれの関係を構成しています。
ダウンリンクタグツリートラバーサル:
.contents :の子ノードのリスト<タグ> すべての息子がリストにノード。
.children:反復型の子ノード、および.contents 子ノードをループのために、同様。
.descendants:反復子孫ノードタイプをループするためのすべての子孫ノードを含みます。
Beautifulsoup タグの種類は、ツリーのルートであります
タグツリートラバーサルアップリンク:
.parent:父ラベルノード。
.parents:祖先ノードをループするための反復祖先ノードタイプタグ。
含むすべての先祖ノードを介してスープ自体、それほど差が決定されます。
並列トラバーサルタグツリー:
.next_sibling:で返されるHTML パラレルラベルテキストシーケンス内の次のノードに
.previous_sibling:で返されるHTML パラレルノードのラベルテキスト配列に
.next_siblings:反復型が、中に返されたHTML およびそれ以降のすべての並列ノードラベルのテキストシーケンス
.previous_siblings:反復型で返されたHTMLは、並列ラベルテキストシーケンス内のすべてのノードを継続しました
同じ並列横断各ノードは、親ノードとの間で生じます。
週3:
再ライブラリ:
正規表現:文字列の集合のための簡単な式の表現は、一般的な発現カセットの文字列であり、さらに、正規表現のための文字列表現である「シンプル」と「機能」の思想の車両、前記文字列家の分析を使用することができます。
ために再一次関数ライブラリ(検索、一致、のfindAll 、finditer 、SUB)を理解し、使用するため、再使い捨てタイプの操作方法として、ライブラリ関数によってオブジェクト指向の方法があるコンパイル生成正規表現オブジェクトが。
第4週:
アプリケーション Scrapyの爬虫類のフレームワークは、主に、設定コードを書かれています:
プロジェクトディレクトリに、実行 scrapy genapiderデモpythを
これは動作します:
(1)名を生成デモスパイダー
(2)ではスパイダーコードファイルディレクトリ増加demo.pyを(このコマンドを生成するために使用されるdemo.pyを、ファイルを手動で生成することができます)
Webページのコマンドを取得し、爬虫類を実行します。 scrapyクロールデモ
得キーワードを使用します:
含む歩留まり関数ステートメントが発生され、発電機の各値(生成収率)、関数は値を生成し、次に覚醒する、凍結され、発電機は、連続生成関数価値があります。