import urllib.request
import urllib.parse
import re
def handler_url(page,base_url):
url = base_url + str(page) + '/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'
}
request = urllib.request.Request(url=url,headers=headers)
response = urllib.request.urlopen(request)
return response.read().decode('utf-8')
def search_img(html):
pattern = re.compile(r'<div class="thumb">.*?<img src="(.*?)" alt=.*?/>.*?</div>',re.S)
img_list = pattern.findall(html)
return img_list
def download(img_url):
img_url = 'https:' + img_url
filename = img_url.split('/')[-1]
filename = './tupian/' + filename
urllib.request.urlretrieve(img_url,filename=filename)
def main():
base_url = 'https://www.qiushibaike.com/pic/page/'
start_page= int(input('输入起始页:'))
end_page = int(input('输入结束页:'))
for page in range(start_page,end_page+1):
html=handler_url(page,base_url) # 处理url
img_list = search_img(html) # 正则搜索
print(img_list)
for img_url in img_list:
download(img_url)
if __name__ == '__main__':
main()