python爬虫類の第3歩-簡単にウェブサイトのピクチャーをつかみます
1694 ワード
解釈はすべてコードの中にあって、読みやすくて理解しやすいです
注意:正規表現のところには、私が探しているサイトのため、中の画像リソースがあります.uploadの接頭辞は、マッチングの条件として直接使用することができます.具体的なマッチングは、あなたが登っているサイトを見て、その画像リソースにどのような法則があるかを見て、マッチングを容易にします.
ページを深く登ることも考えられますが、後で書く時間があります.
注意:正規表現のところには、私が探しているサイトのため、中の画像リソースがあります.uploadの接頭辞は、マッチングの条件として直接使用することができます.具体的なマッチングは、あなたが登っているサイトを見て、その画像リソースにどのような法則があるかを見て、マッチングを容易にします.
import urllib.request;
import re;
class GetURLImage:
def __init__(self , URL , HEAD):#
self.url = URL;
self.head = HEAD;
def getHtml(self):# html
self.request = urllib.request.Request(self.url);# url
self.request.add_header("user-agent" , self.head);#
self.response = urllib.request.urlopen(self.request);#
return self.response.read();# html
def getList(self):
self.strimglist = [];
#/_upload/tpl/00/20/32/template32/images/logo.png
# ,
self.imglist = re.findall(b"_upload/.*.png" , self.getHtml());
# , ,
for i in self.imglist:
self.strimglist.append(self.url + str(i , encoding="utf8"));
return self.strimglist;
def getImage(self):
num = 0;
filename = "./image/";
for self.url in self.getList():
num += 1;
# , image , image
with open(filename + str(num) + ".png" , "wb") as f :
f.write(self.getHtml());
url = " ";
head = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36";
html = GetURLImage(url , head);
#print(html.getList());
#print(html.getHtml());
html.getImage();
print(" !!!");
ページを深く登ることも考えられますが、後で書く時間があります.