python爬虫学习之爬取169图片网站
时间:2019-08-19
本文章向大家介绍python爬虫学习之爬取169图片网站,主要包括python爬虫学习之爬取169图片网站使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
169美女图片网以健康、美丽、年轻、时尚的审美定位,为广大网友展现美女的外形美,欣赏当代年轻女性一代的美丽与情怀。
源码分享:
1 ''' 2 在学习过程中有什么不懂得可以加我的 3 python学习交流扣扣qun,934109170 4 群里有不错的学习教程、开发工具与电子书籍。 5 与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容。 6 ''' 7 import requests 8 from pyquery import PyQuery as pq 9 import os 10 headers={ 11 'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0' 12 } 13 14 #下载图片的模块 15 def Download_the_module(file,tehurl): 16 count = 1 17 # 进入网站下载图片 18 The_second_request = requests.get(tehurl, headers=headers).text 19 # 下载 20 The_doc = pq(The_second_request) 21 Download_the_pictures = The_doc('.big_img') 22 Take_out_the=pq(Download_the_pictures.html()) 23 Extract_the=Take_out_the.find('img').items() 24 for i in Extract_the: 25 save=i.attr('src') 26 #print(save) 27 The_sponse=requests.get(save,headers=headers) 28 The_name='F:/图片/'+file 29 Save_the_address = str(The_name) 30 # 检测是否有image目录没有则创建 31 if not os.path.exists(Save_the_address): 32 33 34 os.makedirs('F:/图片/' + file) 35 else: 36 37 38 with open(Save_the_address+'/%s.jpg'%count,'wb')as f: 39 f.write(The_sponse.content) 40 print('已经下载了%s张'%count) 41 count += 1 42 #爬取地址 43 def Climb_to_address(page): 44 45 URL='https://www.169tp.com/gaogensiwa/list_3_%s.html'%page 46 sponse=requests.get(URL,headers=headers) 47 sponse.encoding='gbk' 48 encodin=sponse.text 49 doc=pq(encodin) 50 extract=doc('.pic').items() 51 for i in extract: 52 #文件名 53 The_file_name=i.text() 54 #提取到的网站 55 The_url=i.attr('href') 56 57 Download_the_module(The_file_name,The_url) 58 59 #一共有616页 60 a=int(input('请输入开始爬取的页数:')) 61 b=int(input('请输入结束爬取的页数:')) 62 Climb_to_address(a,b)
用Python的一个好处就是能代替我们做重复性的工作,释放我们的劳动力,让我们有时间去做我们喜欢的事情(偷懒)。
本次爬虫其实还有两个问题,一个是:爬取的这个网站没有任何的防爬机制,所以你基本不用费什么力气去加header啊,设置session,cookie这些,也为我们提供了极大的便利,代码写起来也简单。第二个问题是:程序不能中断,一但中断了就要重头开始下载,所以应该要有个方法可以来设置爬虫从哪里开始爬取。这个问题其实也不难解决,就当做是家庭作业吧,大家有空可以去试试!
原文地址:https://www.cnblogs.com/xiaoyiq/p/11375324.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法