静的Webページの画像を簡単に取得
1697 ワード
なお、ここで紹介する単純爬虫類は、正規表現の単純な応用を利用するだけで、直接静的Webページにのみ適用される.一方,URLを転送するページ,アドレスに中国語を含むページ,ブラウザタイプを監視するページ,動的ページなどの複雑なアクセスニーズに対しては,Pythonのurllibなどのライブラリをさらに深く適用することで実現できる.
import urllib.request
import re
def getHttp(url):
h = urllib.request.urlopen(url)
html =h.read()
# print(html)
return html
def downloadImg(html):
reg = r'src=".*?\.jpg"'
urls = re.findall(reg,html)
x = 0
for url in urls:
print(url)
urllib.request.urlretrieve(url[5:-1],"%s.jpg"%x)
x += 1
def main():
html = getHttp('http://www.nipic.com').decode('UTF-8')
downloadImg(html)
if __name__ == "__main__":
main()
結果:src="http://icon.nipic.com/BannerPic/20200720/original/20200720095056_1.jpg"
src="http://icon.nipic.com/BannerPic/20200720/original/20200720095119_1.jpg"
src="http://icon.nipic.com/BannerPic/20200720/original/20200720095125_1.jpg"
src="http://icon.nipic.com/BannerPic/20200724/original/20200724105044_1.jpg"
src="http://icon.nipic.com/BannerPic/20200720/original/20200720095134_1.jpg"
src="http://icon.nipic.com/BannerPic/20200720/original/20200720095152_1.jpg"
src="http://icon.nipic.com/BannerPic/20200720/original/20200720095159_1.jpg"
src="http://icon.nipic.com/BannerPic/20200720/original/20200720095243_1.jpg"
src="http://icon.nipic.com/BannerPic/20200720/original/20200720095254_1.jpg"
src="http://icon.nipic.com/BannerPic/20200720/original/20200720095300_1.jpg"
src="http://icon.nipic.com/BannerPic/20200720/original/20200720095307_1.jpg"