python爬虫学习之爬取169图片网站
程序员文章站
2024-01-07 10:03:40
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这些,也为我们提供了极大的便利,代码写起来也简单。第二个问题是:程序不能中断,一但中断了就要重头开始下载,所以应该要有个方法可以来设置爬虫从哪里开始爬取。这个问题其实也不难解决,就当做是家庭作业吧,大家有空可以去试试!