本次选取静态图片网站,新手上路,小心翻车。
代码如下:
import re
import urllib.request
def find(url,sum):
html=urllib.request.urlopen(url).read()
html=str(html)
pat1='<div class="left">.*<div class="right">'
result1=re.compile(pat1).findall(html)
result1=result1[0]
pat2 = 'http://img.ivsky.com/.*?jpg'
result2 = re.compile(pat2).findall(result1)
x=1
for url2 in result2:
url2name=room+str(sum)+'页'+str(x)+'个'+'.jpg'
try:
urllib.request.urlretrieve(url2, filename=url2name)
print('已输出第',sum,'页第', x, '个')
except urllib.error.URLError as e:
if hasattr(e, 'code'):
x += 1
if hasattr(e, 'reason'):
x += 1
x += 1
if __name__ =='__main__':
name= input('请输入名称:')
page=int(input('请输入页数:'))
room = input('请输入地址:(确保文件夹存在比如F:/pachong/)')
name = urllib.request.quote(name)
for sum in range(1,page+1):
url='http://www.ivsky.com/search.php?q='+str(name)+'&PageNo='+str(sum)
find(url,sum)
本来想爬下图片名字,发现文字转码还没学,因此待实现。
仅供参考
#新手上路,多多理解