背景:
最近の部門長は、クロールタスクBaiduのキーワードのランキングをオーサリングします。基本的な機能を書かれて、あなたはそれを適切に使用することはできませんか?それ以来、美しい写真の一部をクロールこの記事で、1次の爬虫類の効果を調べることができ、そして第二に、それはまた、襄陽ヤンは、仕事がポイントを増やすことができますことは楽しいではありません、ハハ。さらに騒ぎがなければ、これは非常に魅惑的で、絵をつかむことです。:直接コードアドレスにhttp://www.win4000.com/meitu.html
環境:(リーダー)が設定可能です
python3
urllib3
BeautifulSoup
リクエスト
それが問題になることがあり、完全に機械的に、クロール対象を決定するために、独自の要素を参照するために読者を確認してください
出典:
download_meinv.py
輸入OS
urllib.parseインポートurlparse #のurllib3モジュールがもたらした、そうでない場合は、それを解決し、エラー・メッセージに従って処理を使用する必要があります
BS4インポートBeautifulSoupから
インポート要求
「」「ときに最初に導入インポートモジュールのシステムライブラリ、サードパーティのライブラリー」「」
''「美のホームのすべての写真をクロール」
R = requests.get( 'http://www.win4000.com/meitu.html')
スープ= BeautifulSoup(r.text、 'html.parser')
img_list = []
soup.select( 'IMG')でのimg用:
img.has_attr( 'ALT')の場合:
img.has_attr( 'データ-元')の場合:
img_list.append((img.attrs [ 'ALT']、img.attrs [ 'データ原本']))
他:
img_list.append((img.attrs [ 'ALT']、img.attrs [ 'SRC']))
image_dir = os.path.join(os.curdir 'Meinv')
(image_dir)をos.path.isdirない場合:
os.mkdir(image_dir)
img_listでのimg用:
名前= IMG [0] + '' + 'JPG'
= urlparam(IMG [1])
ファイルパス= os.path.join(image_dir、名前)
= URL '%のS:S //%/ S%' %(o.scheme、o.netloc、o.pathの[1:] ''、( '_ 250_350'を交換)) #ダウンロード画像
印刷(URL)
RESP = requests.get(URL)
オープンで(ファイルパス、 'WB')としてf:
用resp.iter_contentでのチャンク(1024): #絵が1024のバイトをダウンロードするには大きすぎる場合
f.write(チャンク)