您的位置:首页 > 编程语言 > Python开发

Python爬虫抓取糗百的图片,并存储在本地文件夹

2016-11-22 00:55 411 查看
思路:

1.观察网页,找到img标签

2.通过requests和BS库来提取网页中的img标签

3.抓取img标签后,再把里面的src给提取出来,接下来就可以下载图片了

4.通过urllib的urllib.urlretrieve来下载图片并且放进文件夹里面(第一之前的准备工作就是获取当前路径然后新建一个文件夹)

5.如果有多张图片,不断的重复3-4

由于爬虫写得少,通过自己的调试,终于写了出来了

下面直接上代码:

1 #coding = 'utf-8'
2 import requests
3 from bs4 import BeautifulSoup
4 import urllib
5 import os
6 import sys
7 reload(sys)
8 sys.setdefaultencoding("utf-8")
9
10 if __name__ == '__main__':
11     url = 'http://www.qiushibaike.com/'
12     res = requests.get(url)
13     res.encoding = 'utf-8'
14     soup = BeautifulSoup(res.text, 'html.parser')
15     imgs = soup.find_all("img")
16
17     _path = os.getcwd()
18     new_path = os.path.join(_path , 'pictures')
19     if not os.path.isdir(new_path):
20         os.mkdir(new_path)
21     new_path += '\ '
22
23     try:
24         x = 1
25         if imgs == []:
26             print "Done!"
27         for img in imgs:
28             link = img.get('src')
29             if 'http' in link:
30                 print "It's downloading %s" %x + "th's piture"
31                 urllib.urlretrieve(link, new_path + '%s.jpg' %x)
32                 x += 1
33
34     except Exception, e:
35         print e
36     else:
37         pass
38     finally:
39         if x :
40             print "It's Done!!!"


接下来上结果:



总结:

虽然一开始思路不清晰,而且对怎样把图片保存下来,都不是很熟

但是经过自己的思考,只要思路清楚了,确定了方向就好办了,至于函数不会用的话,可以直接百度查,很方便的

总而言之,写程序之前一定要有思路,边写边想思路是不行的,那样容易返工

不过最后还是写出来了,哈哈

也请大家来共同学习和指正

----------------------

转载的话请大家注明出处哦,谢谢了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: