关键词:

BeautifulSoup    requests    os     css    time

代码实现:

# -*- coding:utf-8 -*-
'''
爬取煎蛋图片
主要用到了requests BeautifulSoup os文件/目录方法 time计时 以及 css选择器
'''#导入需要的库
import os
import time
import requests
from  bs4 import BeautifulSoup#获取url的函数
def get_html(url):#万变不离其宗的找到headersheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}#代理 如果不让访问就用代理进行访问proxies = {'http': '111.23.10.27:8080'}#try和except必定运行一个 python的语法基础try:resp = requests.get(url,headers=headers)except:resp = requests.get(url,headers=headers,proxies=proxies)return  resp#创建文件的函数
def mkdir(path):isExists = os.path.exists(os.path.join("D:\jiandan", path)) #os.path.exists()判断文件是否存在if not isExists:print('makedir', path)os.makedirs(os.path.join("D:\jiandan", path))  #os.makedirs()如果不存在就创建文件os.chdir(os.path.join("D:\jiandan", path))  #改变路径,切换到这个路径return  True              #添加一个判断条件 避免重复添加else:print("already exists")return  False#获取图片的函数
def get_imgs():for url in all_page(): #遍历的方式获取path = url.split('-')[-1]  #以'-'划分,保留最后一段 就是jiandan文件里面的各个文件名 分析网页所得规律mkdir(path)soup = BeautifulSoup(get_html(url).text, 'lxml') #lxml可以改成html.parser(python标准库),但是没有lxml好allimgs = soup.select("div.text > p > img") #CSS选择器 只要子节点就行了 find的方法也能实现 但是CSS方便download(allimgs)print('ok')
#对页面进行分析,获取所有的url
def all_page():base_url = 'http://jandan.net/ooxx/' #基本的url格式soup = BeautifulSoup(get_html(base_url).text, 'lxml') #先用BeautifulSoup转成文本#找到页码的标签,标签中有[],不是数组,是字符串,去掉最后第一个和最后一个可以得到allpage = soup.find('span', class_="current-comment-page").get_text()[1:-1]urllist = []for page in range(1, int(allpage) + 1): #开始遍历每一页allurl = base_url + 'page-' + str(page) #每一页的格式就是这样的urllist.append(allurl) #添加进去return urllist #返回这个列表#下载函数
def download(list):for img in list:urls = img['src']if urls[0:5] == 'http:': #判断urls前面五个字符是否为http:img_url = urlselse:img_url = 'http:' + urls #缺少http: 就添加补充完整filename = img_url.split('/')[-1] #以'/'划分,保留最后一段with open(filename,'wb') as f: #witn语句处理文件存储发生异常 以二进制方式写入文件try:f.write(get_html(img_url).content) #img的解码方式为.contentprint("Successfule:",filename)except:print("Failed:",filename)if __name__ == '__main__': #时间函数t1 = time.time()  #计时get_imgs()  #运行函数print(time.time() - t1)

python爬虫实践(三)——爬取煎蛋网图片相关推荐

  1. python爬虫图片实例-Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  2. python爬图代码实例_Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  3. Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  4. scrapy从安装到爬取煎蛋网图片

    下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ pip install wheel pip install lxml pip install pyop ...

  5. 利用C#爬取煎蛋网图片

    本程序还有待优化,我只爬取了每个页面的第一张图片,你们可以自己更新优化代码以实现全站爬取的功能. 主要用到的命名空间有: using System; using System.Collections. ...

  6. python爬取煎蛋网妹子图

    看了小甲鱼的python教学视频,爬取煎蛋网妹子图的代码已经不适用了,网上其它人的代码多有报错,本萌新结合其他人的方法,终于写出一个可行的,在此分享_(:з)∠)_(运行非常慢就是了) import ...

  7. python 爬虫爬取煎蛋网妹子图,我1T的硬盘装满了!

    前言 大家好,这里是「brucepk」爬虫 系列教程.此系列教程以实例项目为材料进行分析,从项目中学习 python 爬虫,跟着我一起学习,每天进步一点点. 煎蛋网站 image 很多朋友都反应学 p ...

  8. Python Scrapy 爬取煎蛋网妹子图实例(一)

    前面介绍了爬虫框架的一个实例,那个比较简单,这里在介绍一个实例 爬取 煎蛋网 妹子图,遗憾的是 上周煎蛋网还有妹子图了,但是这周妹子图变成了 随手拍, 不过没关系,我们爬图的目的是为了加强实战应用,管 ...

  9. 利用Selenium爬取煎蛋网妹纸图原来是这么简单!!!

    上期说到,下期更新爬取煎蛋网妹纸的selenium版本,它来了!!! 获取页面url信息 获取图片url信息 永久性保存图片 注释: 想要获取GeckoDriver安装包的小伙伴,可以给博主留言或者搜 ...

  10. Python爬虫 scrapy框架爬取某招聘网存入mongodb解析

    这篇文章主要介绍了Python爬虫 scrapy框架爬取某招聘网存入mongodb解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建项目 sc ...

最新文章

  1. CountVectorizer 统计文本重复率 sklearn API
  2. Shiro 核心功能案例讲解 基于SpringBoot 有源码
  3. PKCS7填充标准代码--C语言实现
  4. C# 对象名无效 问题
  5. .NET Core全新的配置管理[共9篇]
  6. php 延时显示代码,php 延时显示代码
  7. Hibernate一对一主键单向关联
  8. python的科学计算库总结
  9. C 库函数 - atoi() 字符串中的数字转换为一个整型
  10. JVM 排查问题实战
  11. 数据库存储过程、触发器、函数的使用
  12. Java8 判空新写法!
  13. 变色龙配置文件功能介绍
  14. 世纪互联加入云计算专委会 推动应用进程
  15. latex beamer 制作ppt,包括动画效果。插入gif图
  16. 考研路上的那些一战二战三战成功与失败的故事系列之一
  17. FAT12文件系统 理解
  18. 看图学习VMWare以及常见问题答疑(转)
  19. 浙大计算机博士生奖学金,浙大打破读研津贴“大锅饭” 奖学金最高8万元
  20. 自适应网站适合什么行业

热门文章

  1. GE 宣布首届“Predix 星火计划”获奖者
  2. Windows 无法打开“添加打印机”本地打印后台处理程序服务没有运行。请重新启动打印后台处理程序
  3. 华为认证hcip怎么找工作?考取华为认证hcip证书可以做什么?
  4. java计算a+aa+aaa+aaaa的和
  5. iOS 播放系统自带铃声
  6. asp万年历简易版本
  7. Coin 2017icpc-西安赛区 牛顿二项式
  8. 发布园友设计的新款博客皮肤BlueSky
  9. 短距离无线通信设备的天线设计
  10. python row函数_Python extmath.row_norms方法代码示例