爬虫類の原則
1.インターネットとは何ですか?
これは呼ばれるインターネットと一緒にインターネットにコンピュータ・ステーションに、ネットワークデバイスのスタックを指します。
2.インターネットの設立の目的は?
目的は、インターネットの転送とデータ共有データを確立することです。
3.データとは何ですか?
たとえば...淘宝網、Jingdongは製品情報などの
証券投資情報東フォーチュンの数、雪だるまネットワーク...
家の連鎖は、そのような利用可能な情報のように自由に....
12306チケット情報...
4.インターネットの全体のプロセス:
-普通のユーザー:
オープンブラウザ- >標的部位にリクエストを送信する- >応答データをフェッチ-ブラウザで>レンダラ
-クローラ:
アナログブラウザ- >標的部位にリクエストを送信する- >応答データをフェッチするには- >貴重抽出しますデータ- >データに永続
ブラウザが要求を送信している何5.?
httpプロトコルを要求します。
-クライアント:
ブラウザがソフトウェアである- >クライアントIPおよびポート
-サーバー
https://www.jd.com/
www.jd.com(Jingdongはドメイン名) - > DNSの解析- > IPサーバとJingdongはポート
クライアントのIPアドレスとポート------> IPおよびポートサーバーに要求を送信するために、対応するデータを取得するためのリンクを確立することができます。
6.爬虫類の全体のプロセス
-リクエストを送信する(ライブラリを要求する必要があります。要求は、セレン要求ライブラリライブラリを要求する)
- (単にサーバーリターン応答データによる後の送信要求に)応答データをフェッチ
- (解析データを抽出して解析するライブラリが必要:BeautifulSoup4、XPathの、再...)
-ローカル(ファイル処理、データベース、MongoDBのリポジトリ)に保存する
2つの要求のライブラリを要求
1.インストールと使用
-オープンCMD
-入力:PIP3がインストール要求
ビデオクロール2.を
3.パケットキャプチャ解析
(チェック)オープン開発者モードブラウザを---->ネットワークを選択し
たページを見つけるためには、(接尾辞xxx.htmlを訪問しました応答テキスト)
1)要求URL(ウェブサイトのアドレスへのアクセス)
2)要求メソッド:
GET:
データを取得するための要求を直送
https://www.cnblogs.com/kermitjam/articles/9692597.html
POSTを:
ユーザ情報を運ぶために必要がターゲットに要求されたアドレスに送信
https://www.cnblogs.com/loginを
3)レスポンスステータスコード:
2XX:成功
3XX:リダイレクト
4XX:リソースが見つかりません
の5xx:サーバーエラー
4)リクエスト・ヘッダー:
User-Agent:(コンピュータ機器やブラウザによって送信された要求であることが証明された)ユーザエージェント
のクッキー:実際のユーザーのログイン情報(ユーザーがターゲットサイトが証明する)
リファラー:最初の訪問のURL(あなたが標的部位からジャンプアップしていることを証明しますA)
5)リクエストボディ:
POSTリクエストは、リクエストボディを持つことになります。
データフォーム
{
「ユーザー」:「タンク」、
「PWD」:「123」
}
4 IMDBのをクロール
:現在位置から開始
*:検索すべて
:?最初に見つけることが見ていない
?非欲張りマッチ:*を
。 *:貪欲の試合
クロール動画
インポート要求が 再インポート 応答 =要求。取得(' https://www.pearvideo.com/ ' ) res_list = re.findall(' <のhref = "?ビデオ_(*)" ' 、response.text、re.S)の ため v_id にres_list: detail_urlを = ' https://www.pearvideo.com/ ' + v_id 応答 =要求。取得(URL = detail_url) video_url = re.findall(' srcUrl = "(。*?)" '、response.text、re.S)[ 0 ] VIDEO_NAME = re.findall(' <H1 CLASS = "ビデオ-TT">(。*?)</ H1> '、response.text、re.S)[ 0 ] プリント(VIDEO_NAME) v_response =要求。取得(video_url)を オープン(と' %s.mp4 '%のVIDEO_NAME、' WB ')としてF: f.write(v_response.content) プリント(VIDEO_NAME、' 视频爬取完成')
(*。?):括弧内のデータを抽出します
映画ランキング、映画のURL、フィルム名、ディレクター-主演-映画のスコアの種類、レビューの数、フィルムの概要
。?<DIVクラス= "アイテム "> * <EMクラス= ""> </ em>の(。*?)
。?。?* <a href="(.*?)"> * <スパンクラス= "タイトル"> </ span>の(*。?)
*ディレクター:。?(。*?) </ P>。 *?<スパンクラス= "rating_num。" *?>(。*?)</ span>を
。*?<スパン>(。*?)の人がコメント</ span>を。*?<スパンクラス= "INQ"> (。*?)</ span>を
<DIV CLASS = "項目">
<DIV CLASS = "PIC">
<EMクラス= ""> 226 </ EM>
<のhref =「HTTPS://movie.douban。 COM /件名/ 1300374 / ">
<IMG幅=" 100 "Altキー="グリーンマイル"SRC =" https://img3.doubanio.com/view/photo/s_ratio_poster/public/p767586451。WEBP "クラス= "">
</a>の
</ div>
<divのクラス= "情報">
<DIV CLASS = "HD">
<HREF =" https://movie.douban.com/subject/1300374/ "クラス=" ">
<スパンクラス= "タイトル">グリーンマイル</ span>の
<スパンクラス= "タイトル"> NBSPは&; /&NBSP;グリーンマイルでの</ span>の
<スパンクラス= "その他">&NBSP; /&NBSP;グリーンマイル(単位)/グリーンマイル</スパン>
</a>の
<スパンクラス= "再生可能">再生</スパン>
</ div>
<DIV CLASS = "BD">
<Pクラス= "">
ディレクター:フランク・ダラボン&NBSP;&NBSP ;&NBSP; 主演:トム・ハンクストム・ハンクス/デヴィッド・モースデイヴィッド・M ... <BR>
1999&NBSP; /&NBSP; USA&NBSP; /&NBSP;犯罪ドラマファンタジーミステリー
</ P>
<DIV CLASS = "スター">
<スパンクラス= "rating45-T"> </ span>の
<スパンクラス= "rating_num"プロパティ= "V:平均"> 8.7 </スパン>
<スパンプロパティ= "V:最高の"コンテンツ= "10.0"> </ span>の
<span>の141370人评价</ span>を
</ div>
<Pクラス= "引用">
<スパンクラス= "INQ">天使暂时离开。</ span>を
</ P>
</ div>
</ div>
</ div>
映画ランキング
もし [_NAME_] == ' _main_ ' : NUM = 0 のためのラインで範囲(10 ): BASE_URL = F ' https://movie.douban.com/top250?start={num}&filter= ' NUM + = 25 プリント(BASE_URL ) 応答 = get_page(BASE_URL) movie_list = parse_index(response.text) のための映画で:movie_list v_top、v_url、v_name、v_director、v_point、v_num、v_desc = ムービー movie_content = F '' ' 映画のランキング:{v_top} 動画のURL:{v_url} 作品名:{v_name} 映画監督:{v_director} 作品の評価:{v_point} 評価者の数:{v_num} 映画:{v_desc} N- \ '' ' 印刷(movie_content) save_data(movie_content)