下载Python3:https://www.python.org/
安装的时候记得勾选添加环境变量
本代码参考了网上的一些教程,我又根据自己的理解简化了代码:
import re,os,randomimport urllib.requestos.mkdir('mm')os.chdir('mm')#请求头head={}head['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'#设置网站起始页码cou=2350while True: strcou=str(cou) cou=cou+1 #网站首页地址 url2='http://jandan.net/ooxx/page-'+strcou+'#comments' a=urllib.request.Request(url2,data=None,headers=head) res=urllib.request.urlopen(a).read().decode('utf-8') #正则表达式匹配网址 a=re.findall(r'//wx+.+?.jpg',res) #去掉列表中重复的网站点 ll=list(set(a)) #计算列表中有多少个网站 b=len(ll) c=b-1 while True: #随机生成两个数字用于图片命名 cc=str(random.randint(1,200)) dd=str(random.randint(1,200)) #这个是图片地址 url='http:'+a[c] resp=urllib.request.Request(url,data=None,headers=head) res=urllib.request.urlopen(resp).read() #保存图片 with open(cc+dd+'.jpg','wb') as f: f.write(res) c-=1 if c==0: break导入必要的模块
import re,os,randomimport urllib.request在当前工作目录创建文件夹,名字为mm
os.mkdir('mm')os.chdir('mm')#请求头,如果不加请求头的话,服务器就会判定这是一个非人类访问。访问一些网站将会被服务器拒绝head={}head['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'如下就是不加请求头的报错:#设置网站起始页码 网站原始首页http://jandan.net/ooxx/page-2379#comments2379就是包含在网站里的页码,改变这个数字,浏览器显示的图片就不一样了,就是利用这一点,就可以每一次循环改变网站的地址获取不同的图片cou=2379第一个循环代表获取不同的图片while True:#cou是数字类型,需要把它转换成字符类型填写在网址中 strcou=str(cou)#每一次循环访问页面,就在原来的页码上加1 cou=cou+1 #网站首页地址 url2='http://jandan.net/ooxx/page-'+strcou+'#comments' a=urllib.request.Request(url2,data=None,headers=head) res=urllib.request.urlopen(a).read().decode('utf-8') #正则表达式匹配网址,获取该页面所有以//wx开头以.jpg结尾的url,这个url就是图片的地址a=re.findall(r'//wx+.+?.jpg',res) #去掉列表中重复的网站点 ll=list(set(a)) #计算列表中有多少个网站 b=len(ll) c=b-1第二个循环代表获取页面的url:while True: #随机生成两个数字用于图片命名 cc=str(random.randint(1,200)) dd=str(random.randint(1,200)) #这个是图片地址 url='http:'+a[c] resp=urllib.request.Request(url,data=None,headers=head) res=urllib.request.urlopen(resp).read() #保存图片 with open(cc+dd+'.jpg','wb') as f: f.write(res) c-=1 if c==0: break爬取的图片:
新闻热点
疑难解答