豆瓣爬蟲實戰


import re,requests,json
headers = {'Referer':'https://movie.douban.com/typerank?type_name=%E5%89%A7%E6%83%85%E7%89%87&type=11&interval_id=100:90&action=1',#向服務器表示從哪個頁面發起的請求#
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'#user-agent:表示系統以及瀏覽器型號
}#爬蟲偽裝#

for i in range(0,100):
res=requests.get("https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start="+str(i)+"&limit=1",headers=headers) #i對應表示電影排名的json文件#
res.encoding = "UTP-8"
re_dict=re.compile(r"{.*}")#正則表達式過濾數據#
dict=re_dict.search(res.text)
rank=dict.group()
rank_movie_dict=json.loads(rank)#將過濾數據轉為python對象 並放入詞典#

print(rank_movie_dict["title"])
for j in rank_movie_dict["actors"]:
print(j + "/", end="")
print("\n")

print(rank_movie_dict["release_date"] + "/", end="")
for j in rank_movie_dict["regions"]:
print(j + "/", end="")
print("\n")

for j in rank_movie_dict["types"]:
print(j + "/",end="")
print("\n")
print("評分:" + str(rank_movie_dict["score"]) + "評分人數" + str(rank_movie_dict["vote_count"]))
print("_______________________________________________________")

img_url=rank_movie_dict["cover_url"]#獲取圖片地址#
res_img=requests.get(img_url,headers=headers)
res_img.raise_for_status()
with open(".\\豆瓣電影圖片\\" + rank_movie_dict["title"] + ".jpg", "wb") as p:
p.write(res_img.content)#寫入二進制數據#
運行結果:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM