妹の図のあるピクチャーの少しの心得を登ります

6195 ワード

次のコードを書き始めました.
import requests
req = requests.get("https://i.meizitu.net/2019/01/13d01.jpg")
#         “    ”
with open("C://Users//Administrator//Desktop//girl.jpg","wb") as f:
    f.write(req.content)

デスクトップに空のファイルが1つしか作成されていないことがわかりました.コードを追加して理由を検索するには、次の手順に従います.
status_code = req.status_code
print("req.status_code:%d"%status_code)
>>>req.status_code:403

サイトは爬取アクセスを禁止しています.偽装:
import requests
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 SafarMozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
req = requests.get("https://i.meizitu.net/2019/01/13d01.jpg",headers = header)
with open("C://Users//Administrator//Desktop//girl.jpg","wb") as f:
    f.write(req.content)

やはりだめです.デスクトップはまだ空のファイルです.資料を調べたところ、リバース爬虫類にもReferというパラメータがあることが分かった.では、このパラメータを追加してheadersを変更します.
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 SafarMozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',"Referer" : "http://www.mzitu.com/",'Host' : 'i.meizitu.net'}
#     host

以下を実行します.
import requests
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 SafarMozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',"Referer" : "http://www.mzitu.com/",'Host' : 'i.meizitu.net'}
req = requests.get("https://i.meizitu.net/2019/01/13d01.jpg",headers = header)
with open("C://Users//Administrator//Desktop//girl.jpg","wb") as f:
    f.write(req.content)

成功しました.girlはデスクトップにいます.独学のスピードが遅いですね.この問題は長い間やっていました.