Pythonを使用して、最も単純なWebクローラーであるDouban250を作成します

ヒント:記事を書いた後、目次を自動的に生成できます。生成方法については、右側のヘルプドキュメントを参照してください。


序文

Pythonで簡単なクローラーコードを記述します。Douban映画のトップポスターをクロールします。

1.クローラーとは何ですか?

Webクローラー(Webスパイダー、Webロボットとも呼ばれます)は、特定のルールに従ってWorld WideWeb上の情報を自動的にクロールするプログラムまたはスクリプトです。他のあまり一般的に使用されない名前には、アリ、自動インデックス作成、シミュレーター、またはワームが含まれます。

次に、手順を使用します

1.ライブラリをインポートします

from urllib import request
import re
url = 'https://movie.douban.com/top250'
herders={
    
    
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/537.36 (KHTML,like GeCKO) Chrome/45.0.2454.85 Safari/537.36 115Broswer/6.0.3',
    'Referer':'https://movie.douban.com/',
    'Connection':'keep-alive'}
req = request.Request(url,headers=herders)
req = request.urlopen(req)
# type(req)
print(req.status)
# 应答的状态
con = req.read().decode('utf-8')
#使用正则匹配,找到目的数据,从可以理解为查找源,re.S有了之后就可以查找所有
rs = re.findall(r'<li>(.*?)</li>',con,re.S)  #findall 是一个查找函数
li = rs[0]
# print(li)
imginf = re.findall(r'<img(.*?)" class="">',li)
info = imginf[0]
print(info)
result = info.split(' alt=')
print(result[1])
result1 = result[1].split(' src="')
result2 = result1[1]
print(result2)
imgreq = request.urlopen(result2)
re_img = imgreq.read()
imgf = open(r'D:\\python爬虫\1.jpg','wb')
imgf.write(re_img)
imgf.close()

2.データを読み込みます

src="https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2614500649.jpg" class="">
<img width="100" alt="无间道" src="https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2564556863.jpg" class="">
<img width="100" alt="教父" src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p616779645.jpg" class="">
<img width="100" alt="龙猫" src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2540924496.jpg" class="">
<img width="100" alt="当幸福来敲门" src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2614359276.jpg" class="">
<img width="100" alt="怦然心动" src="https://img1.doubanio.com/view/photo/s_ratio_poster/public/p501177648.jpg" class="">
<img width="100" alt="触不可及" src="https://img9.doubanio.com/view/photo/s_ratio_poster/public/p1454261925.jpg" class="">
25

総括する

ここに追加

herders={
    
    
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/537.36 (KHTML,like GeCKO) Chrome/45.0.2454.85 Safari/537.36 115Broswer/6.0.3',
    'Referer':'https://movie.douban.com/',
    'Connection':'keep-alive'}
req = request.Request(url,headers=herders)

私も
初心者です。これを追加しないと、アクセスが禁止され、毎回次のようなエラーが報告されます。urllib.error.HTTPError:HTTPエラー418:
ヘッダーを確認してから書き直す必要があります。コードに問題はありません。毎回スーパーインポーズしていますが、1〜25回しかアクセスしていません。後者は入りません。理由をご存知の方がいらっしゃいましたら、アドバイスをお願いします。

おすすめ

転載: blog.csdn.net/weixin_45070922/article/details/109643301