0需要
プルフックネット(クロールhttps://www.lagou.com/ジョブと「組込みソフトウェア」に関連するキーワードのを)。
1つの分析
データが動的に取得されていることを示す、ページのソースコード情報(会社名など)私たちが望む、不一致を検索
オープン検査ツールは、返されたデータパケットで見つかったネットワークパッケージの下からクロールのページを更新します。(JSタグは、XHR、濾過を使用することができます)
ここでは基本的に戦いの半分で、残りはどのように力の抗登る機構のサイトに依存
私たちは、このパケットのヘッダ情報を参照するヘッダのラベルに切り替えます:
请求的URLます。https:?//www.lagou.com/jobs/positionAjax.json PX =デフォルト&街=%E5%8C%97%E4%BA%のAC&needAddtionalResult =偽
要求された方法:POST(GETに比べているFormData要求データに、そこに暗号化することができます)
(ここで比較良心、同様のデータが暗号化されていません)
リクエストヘッダ:追加する可能性の必要性は、クッキーは、トラブル/(〇〇〇)/ ~~を有することができます
この分析では、あなたは、コードを書き始めることができ、問題が問題を解決するために(ง•_•)ง
2クロール
)(requests.post URL、ヘッダーといるFormData書かれ、それが設定されていないとどのような抗登る機構、直接呼び出しを想定する必要が確かに始まって
私は言って、発生した問題をプロセスを説明しません:「あまりにも頻繁にあなたが訪問」我々は、上記の動作データが返さでしょうです
中毒 - しかし、我々は単に抗登る機構ウェブサイトの設定である、非常に頻繁に訪問していないという事実は、この現象は、専門的な用語と呼ばれています
データが暗号化されていないので、いるFormDataは、問題がクッキーに出て、基本的であると判断することができます
今固定クッキーで、相互作用のHTTPリクエストとクッキーにより、我々は、セットクッキープロセスを見つけなければならないことができません
(出典:https://www.cnblogs.com/fanying/p/11650034.html)
プルバックは、ネットワークページをフックするために、(私は、クロムた次の)既存のクッキーを削除
その後、我々はページ、キャッチ解析パッケージリフレッシュします(セットクッキーパッケージああのための外観を(1•ㅂ•)و✧)
あなたは、ああ、これは必ずしも名前ではないことをメモして、このパッケージを見つける必要がありますが、それは、Set-Cookieパラメタああでなければなりません
クッキーを取得し、残りは簡単です、あなたは機能要求のクッキーを実行するためのパッケージを得ることができ、クッキーがポストリクエストパラメータを結合するために返されます、あなたが望むデータを取得することができます
データ処理3
私たちは、データを取得し、通常我々は、データをフィルタリングする必要があります - 私はcsvファイルそれに直接入金のいくつかの重要な情報を学ぶために、特別なニーズを持っていないの抽出、。
パンダを視覚化する必要があるかもしれない、他のツールをpycharts。
コード4
#- * -エンコーディング:UTF-8 - * - ''」 @file:lagou.py @time:2020年3月30日夜09時12分38秒 @Author:BADBLOCKS @Version:1.0 @Contact:[email protected] ''」 #ここでは、インポートのlibを置く 輸入JSON形式の インポート要求が インポート PPRINT #格式化打印 URL = " https://www.lagou.com/jobs/positionAjax.json?px=default&city=%E6%B7%B1%E5 %9C%B3&needAddtionalResult = FALSE " ヘッダー = { #"クッキー":getCookie()、 " ホスト":"www.lagou.com " " 起源":" https://www.lagou.com " " リファラー":" https://www.lagou.com/jobs/list_%E5%B5%8C%E5% 85%A5%E5%BCは、%8F%E8%BD%AF%E4%BB%B6 / P-city_215 PX =デフォルト?" #防盗链" 秒フェッチ-DEST ":" 空" " 秒フェッチ-mode 「:」CORS 「」秒フェッチサイト「:」同一生成元「」 User-Agent ":" Mozillaの/ 5.0(Windows NTの10.0; Win64の、x64の)のAppleWebKit / 537.36(ヤモリのようにKHTML、)クローム/ 80.0.3987.149サファリ/ 537.36 " " X-ANIT-フォージ-コード":" 0 " 、 " X-ANIT-フォージトークン":" なし" 、 " X-要求されない、と":" のXMLHttpRequest " } form_dataは = { " 最初の":" 偽" 、 " PN " :" 1 "、#页码 " KD ":" 嵌入式软件" } DEF getCookie(): cookie_url = " https://www.lagou.com/jobs/list_%E5%B5%8C%E5%85%A5 %E5%BC%8F%E8%BD%AF%E4%BB%B6 / P-city_215 PX =デフォルト?" cookie_headers = { " ユーザエージェント":" はMozilla / 5.0(Windows NTの10.0; WOW64)のAppleWebKit / 537.36 (KHTML、ヤモリ等)クローム/ 70.0.3538.25サファリ/ 537.36コア/ 1.70.3741.400 QQBrowser / 10.5.3863.400 " } cookie_rRequests.get =(cookie_url、ヘッダー= cookie_headers) リターンcookie_r.cookiesの クッキー = getCookie() R&LT = requests.post(URL = URL、データ= form_data、ヘッダー=ヘッダ、=クッキークッキー) プリント(r.text)
データ = r.json() オープンして(' ジョブが.csvファイル'、MODE = " W + " =エンコード、" UTF-8。" )AS F: ヘッダー =を[ ' 役職'、' 会社名'、' 会社の規模'、"薪资' ] f.write(' 、' .join(ヘッダ)) f.write(' \ n ' ) のための項目でPOSITION_DATA: D = [アイテム[ ' positionName ' ]、項目[ ' companyFullName ' ]、項目[ ' companySize ' ]、項目[ ' 給与' ] f.write(' 、' .join(D)) f.write(' \ n ')