开发工具与关键技术:Python IDEL、Python
作者:曾浩源
撰写时间:2019年08月14日
想要爬取网站内的图片,首先想到的是引用urllib模块内的request(打开和浏览url中内容),然后就是os模块(文件/目录方法)创建文件夹和保存图片,最后就是引用random模块的choice()方法返回元组或列表内的随机项,从而分配代理浏览网站。
引用所需要的模块后,就是看看使用代理爬取网站内图片需要哪些流程,如:
1、 首先肯定是创建文件夹(创建完成后将工作目录切换到新建的文件夹内)
2、 打开网址(这里使用代理就不分开写了)
3、 获取该网站图片分页的页数(如果没有分页该方法可以不用)
4、 得到某一页后,获取该页的所有图片(确定网址后获取该页面的所有图片)
5、 最后就是保存图片到文件夹
一、主函数
1、 该主函数有三个函数,并且都有默认值(url网址、folder保存的文件夹、pages爬取的页数)
2、 判断文件夹是否存在,不存在就新建,然后将工作目录切换到新建的文件夹
3、 打开网址
4、 for循环,循环一次打开不同的页数,然后获取那一页的图片,最后保存图片,之后执行下一页
二、打开网址
1、 使用urllib模块内request访问网址,然后添加一个HTTP报头(用于防止被认出是代码执行访问网址)
2、 声明一个列表存放代理IP,使用random模块的choice()方法随机返回一个代理IP对网址进行访问
3、 使用urllib.request的urlopen()函数打开url,返回response后使用read()方法读取,获取该网址的html页面(现在还不是utf-8编码),返回html
三、获取该网站图片分页的页数
1、 首先需要打开网址才内获取该网站有多少页,调用打开网址方法,将得到的html转为utf-8编码
2、 根据该网站内实际情况获取总页数(有很多种方法,如:正则获取,标签获取,字符串搜索获取等等)
3、 返回获取到页数
四、得到某一页后,获取该页的所有图片
1、 首先需要打开网址才内获取该网站有多少页,调用打开网址方法,将得到的html转为utf-8编码
2、 声明一个列表存放获取到的图片链接,然后根据网址的实际情况获取图片的链接,如(正则获取,标签获取,字符串搜索获取等等)
3、 返回图片链接列表
五、保存图片到文件夹
1、 该方法的参数有文件夹名称和图片链接列表,根据图片链接列表for循环
2、 图片名称由图片链接根据/分割的最后一个字符串命名
3、 最后就是打开文件,并拥有读取写入权限,打开图片链接,爬取图片,写入文件
最后的最后就是调用主函数,如果要保存为一个py文件需要:
作者:曾浩源
撰写时间:2019年08月14日
想要爬取网站内的图片,首先想到的是引用urllib模块内的request(打开和浏览url中内容),然后就是os模块(文件/目录方法)创建文件夹和保存图片,最后就是引用random模块的choice()方法返回元组或列表内的随机项,从而分配代理浏览网站。
引用所需要的模块后,就是看看使用代理爬取网站内图片需要哪些流程,如:
1、 首先肯定是创建文件夹(创建完成后将工作目录切换到新建的文件夹内)
2、 打开网址(这里使用代理就不分开写了)
3、 获取该网站图片分页的页数(如果没有分页该方法可以不用)
4、 得到某一页后,获取该页的所有图片(确定网址后获取该页面的所有图片)
5、 最后就是保存图片到文件夹
一、主函数
1、 该主函数有三个函数,并且都有默认值(url网址、folder保存的文件夹、pages爬取的页数)
2、 判断文件夹是否存在,不存在就新建,然后将工作目录切换到新建的文件夹
3、 打开网址
4、 for循环,循环一次打开不同的页数,然后获取那一页的图片,最后保存图片,之后执行下一页
二、打开网址
1、 使用urllib模块内request访问网址,然后添加一个HTTP报头(用于防止被认出是代码执行访问网址)
2、 声明一个列表存放代理IP,使用random模块的choice()方法随机返回一个代理IP对网址进行访问
3、 使用urllib.request的urlopen()函数打开url,返回response后使用read()方法读取,获取该网址的html页面(现在还不是utf-8编码),返回html
三、获取该网站图片分页的页数
1、 首先需要打开网址才内获取该网站有多少页,调用打开网址方法,将得到的html转为utf-8编码
2、 根据该网站内实际情况获取总页数(有很多种方法,如:正则获取,标签获取,字符串搜索获取等等)
3、 返回获取到页数
四、得到某一页后,获取该页的所有图片
1、 首先需要打开网址才内获取该网站有多少页,调用打开网址方法,将得到的html转为utf-8编码
2、 声明一个列表存放获取到的图片链接,然后根据网址的实际情况获取图片的链接,如(正则获取,标签获取,字符串搜索获取等等)
3、 返回图片链接列表
五、保存图片到文件夹
1、 该方法的参数有文件夹名称和图片链接列表,根据图片链接列表for循环
2、 图片名称由图片链接根据/分割的最后一个字符串命名
3、 最后就是打开文件,并拥有读取写入权限,打开图片链接,爬取图片,写入文件
最后的最后就是调用主函数,如果要保存为一个py文件需要: