简单爬取网站图片学习

2018-10-30 小惟 36

本套源码出自黑白配博客,转载请注明出处

简介:这个py爬虫是一个适合小白学习的图片爬虫代码,只是最基本的功能用处学习,不多说,先上源码:

  1. # coding:utf8

  2. #http://www.manmankan.com/dy2013/mingxing/tupian/201305/2037.shtml

  3. #这个页面是漫漫看的我女神孙艺珍的图片写真页地址

  4. import urllib2 #py2的打开网页的库

  5. import os #文件路径相关的库

  6. from bs4 import BeautifulSoup   #解析网页的库

  7. root_url = 'http://www.manmankan.com/dy2013/mingxing/tupian/201305/2037.shtml' #爬虫的入口页面

  8. count = 1 #计数用

  9. my_path = 'D:/img_syz' #定义一个存图片的路径,下面的语句意思:这个路径不存在就创建,然后转到这个路径

  10. if not os.path.exists(my_path):

  11. os.mkdir(my_path)

  12. os.chdir(my_path)

  13. request = urllib2.Request(root_url)#用这个库打开我的入口页面

  14. request.add_header('user-agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1')

  15. #添加一个访问头,用来模拟浏览器登录

  16. response = urllib2.urlopen(request)

  17. #把request传进去打开网页

  18. if response.getcode()== 200:#判断状态码!200表示打开成功,常见的还有404是网页不存在,503是服务器错误什么的,这个判断还是有必要的

  19.     soup = BeautifulSoup(response.read(), 'html.parser', from_encoding='utf-8')

  20. #这个用beautifulsoup来解析网页

  21.     img_urls = soup.find('ul',class_='zhaopianBox_p').find_all('img')

  22. #f12审查元素后找到img的标签如上

  23. for img_url in img_urls:#这个循环就是存图片的了!

  24. count += 1

  25.         src = img_url['data-original']

  26. print src

  27. #print src[:-6]

  28.         name = 'syz'+str(count)

  29.         with open(name+'.jpg','ab') as img_obj:#图片这类要用二进制b模式打开,打开方式神么的请百度

  30.             img_content = urllib2.urlopen(src[:-6]+'.jpg').read()

  31.             img_obj.write(img_content)

  32.             img_obj.flush()

爬虫爬取的是漫漫看网站的明星图,通过修改入口url可以实现爬取这个站任何一个明星的所有图片(对只想要东西的小白说的话)。通过加入一个url集合,稍微分析一下url的规律,把全站的明星url放进去基本可以实现全站明星的抓取,具体的我就不说了,这个小进阶完全可以自己实现,我只是给个方向...当然我不会说本博主实现了该站全部女明星的写真集抓取,,,,啧啧啧,

 

好了,希望大家通过这个对py有一定的理解,其实不要把爬虫想的那么难,难是难在进阶,难在它有太多的坑要填,对于拿来玩一玩是绰绰有余的,逻辑基本在任何语言里都是想通的,毕竟什么语言都只是工具嘛,主要是实现的方式....