今日、私たちは、絵のオムレツネットワークをクロールしてみてください。
パッケージに使用されます:
urllib.request
インクルード
いくつかの機能は、ページ数を制御するために使用された画像を、アクセスウェブ、画像、アクセスのWebページをダウンロードし、ローカルで画像を保存します。プロセスは単純明快です
直接ソースコードに:
輸入urllib.request 輸入OS デフ(URL)をurl_open: REQ = urllib.request.Request(URL) req.add_header(' ユーザーエージェント'、" Mozillaの/ 5.0(Windows NTの10.0; Win64の、x64の)のAppleWebKit / 537.36(KHTML 、ヤモリ等)クローム/ 75.0.3770.100サファリ/ 537.36 ' ) 応答 = urllib.request.urlopen(URL) HTML = response.read() 戻りHTML DEF get_page(URL): HTML = url_open(URL).decode(' UTF -8 " ) A= html.find(' 現在の-コメント-ページ')23 、B = html.find(' ] ' 、a)に 戻り、HTML [:B] デフfind_imgs(URL): HTML = url_open(URL).decode(" UTF-8 ' ) img_addrs = [] = html.find(' のimg SRC = ' ) しばらく = -1! : B = html.find(' .JPG "、+ 255 ) であれば!B = - 1 : img_addrs.append(' HTTPS:' + HTML [A + 9:B + 4]) #'のIMG SRC ='为9个偏移为4个偏移」の.jpg ' 他: B = A + 9 = html.find(' IMGのSRC = 'B) リターンimg_addrsのデフsave_imgs(フォルダ、img_addrs) ため、各内img_addrs: ファイル名 = each.split(' / ')[ - 1 ] (ファイル名、オープンと' WB 」Fとして): IMG = url_open(各) f.write(IMG) プリント(img_addrs) デフ download_mm(フォルダ= ' XXOO '、ページ= 5 ): os.mkdir(フォルダ) os.chdir(フォルダ) のurl = ' http://jandan.net/ooxx/ ' PAGE_NUM = INT(get_page(URL)) のための I における範囲(ページ): PAGE_NUM - = 私は PAGE_URL + = URLを' ページ- ' + STR(PAGE_NUM)+ ' #comments ' img_addrsの =のfind_imgs(PAGE_URL) save_imgs(フォルダ、img_addrs) であれば __name__== ' __main__ ' : download_mm()
前記主機能download_mm()、第5面に設けられたページ。
もともと設定は10ですが、プログラム実行中。404ERRORエラーが発生しました
そのimgae_urlエラーが発生しました。save_imgに試みる()関数は、テストコードに追加されました:プリント(img_addrs)を、
私は写真の裏ページは、img_urlフォーマットの変更が404で、その結果、発生したため、それはできないだろうと思ったので、5へのページ、
もう一度実行して、結果は問題ありません、画像がダウンロードされます。
慎重にダウンロードすることができないという問題(404)があり、バック画面にちょうど第五、観察しました。だから、オンラインオムレツ、我々は第六側面のURLの絵に進んでください。
図5は、図5には、正面顔画像URL、画像のURLに平面であります
表面404に、すなわち、その結果、HREF 5一致しない表示されるように、実行<IMG SRC =「」> <.JPG> URLピクチャとして、探索画像のURL検索()関数を使用して、ソースコード、 ERROR。あなたは、URLを追加するために再検索するための画像以降の必要性をダウンロードする場合
すなわち、HREFのIMG SRCの変化がわかります、オフセットを変更する必要があります。
要約:
ページのタグを検索する)(検索を使用して、彼らは爬虫類での使用を作りたかったので、低すぎる行う正規表現とBeautifulsoupパッケージ効率を向上させるために、これらの二つは、私は特に慣れていないよ、そう、彼らはより多くの訓練を必要としています。