欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python爬虫学习之爬取169图片网站

程序员文章站 2022-04-10 22:26:15
169美女图片网以健康、美丽、年轻、时尚的审美定位,为广大网友展现美女的外形美,欣赏当代年轻女性一代的美丽与情怀。 ......

169美女图片网以健康、美丽、年轻、时尚的审美定位,为广大网友展现美女的外形美,欣赏当代年轻女性一代的美丽与情怀。

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