抓取网站下的.jpg文件的主要步骤:
第一步:获取网站的html源码(方法:gethtml())
第二步:从源代码中抓取出图片的url地址(通过正则表达式获取url列表)
第三步:通过url下载图片到本地(urllib.request.urlretrieve()方法)
主要讲一下正则表达式的意思:
reg = r'http://[^\s]*?\.jpg'
[]:常用来代表字符集
[^]: 代表除字符集以外的字符
\s:代表任何空白字符。 其中包括空格、制表符和换页符。 [ \f\n\r\t\v]
python代码如下:
import re
from urllib.request import urlopen, urlretrieve
def gethtml(url):
page = urlopen(url)
html = page.read()
return html
def getImg(html):
reg = r'http://[^\s]*?\.jpg'
# reg = r'http://[\S]*?\.jpg'
imgre = re.compile(reg)
imghtml = imgre.findall(str(html))
x = 0
for imgurl in imghtml:
print(imgurl)
urlretrieve(imgurl, ".\data\\" + str(x) + ".jgp")
x += 1
if __name__ == "__main__":
html = gethtml("http://www.netxxxbian.com/")
getImg(html)