学完Requests库与Beautifulsoup库我们今天来实战一波,爬取网页图片。依照现在所学只能爬取图片在html页面的而不能爬取由JavaScript生成的图。

所以我找了这个网站

http://www.ivsky.com

网站里面有很多的图集,我们就找你的名字这个图集来爬取

http://www.ivsky.com/bizhi/yourname_v39947/

来看看这个页面的源代码:

可以看到我们想抓取的图片信息在

里面然后图片地址在img里面那么我们这里可以用BeautifulSoup库方法来解析网页并抓取图片信息。

soup =BeautifulSoup(html,'html.parser')

all_img=soup.find_all('img')

for img in all_img:

src=img['src']

url方面我们用requests库去获取:

def getHtmlurl(url): #获取网址

try:

r=requests.get(url)

r.raise_for_status()

r.encoding=r.apparent_encoding

return r.text

except:

return ""

我们要将图片下载下来并存在本地:

try: #创建或判断路径图片是否存在并下载

if not os.path.exists(root):

os.mkdir(root)

if not os.path.exists(path):

r = requests.get(img_url)

with open(path, 'wb') as f:

f.write(r.content)

f.close()

print("文件保存成功")

else:

print("文件已存在")

except:

print("爬取失败")

整个爬虫的框架与思路:

import requests

from bs4 import BeautifulSoup

import os

def getHtmlurl(url): #获取网址

pass

def getpic(html): #获取图片地址并下载

pass

def main(): 主函数

pass

这里给出完整代码

import requests

from bs4 import BeautifulSoup

import os

def getHtmlurl(url): #获取网址

try:

r=requests.get(url)

r.raise_for_status()

r.encoding=r.apparent_encoding

return r.text

except:

return ""

def getpic(html): #获取图片地址并下载

soup =BeautifulSoup(html,'html.parser')

all_img=soup.find_all('img')

for img in all_img:

src=img['src']

img_url=src

print (img_url)

root='D:/pic/'

path = root + img_url.split('/')[-1]

try: #创建或判断路径图片是否存在并下载

if not os.path.exists(root):

os.mkdir(root)

if not os.path.exists(path):

r = requests.get(img_url)

with open(path, 'wb') as f:

f.write(r.content)

f.close()

print("文件保存成功")

else:

print("文件已存在")

except:

print("爬取失败")

def main():

url='http://www.ivsky.com/bizhi/yourname_v39947/'

html=(getHtmlurl(url))

print(getpic(html))

main()

运行代码:

我们可以看到图片都保存在本地了

这就是简单的实战案列,大家可以自己试试。

一个咸鱼的python_一个咸鱼的Python爬虫之路(三):爬取网页图片相关推荐

  1. python爬虫入门教程:爬取网页图片

    在现在这个信息爆炸的时代,要想高效的获取数据,爬虫是非常好用的.而用python做爬虫也十分简单方便,下面通过一个简单的小爬虫程序来看一看写爬虫的基本过程: 准备工作 语言:python IDE:py ...

  2. python爬虫实例方法(批量爬取网页信息基础代码)

    文章目录 前言 一.爬虫实例 0.爬取深圳租房信息 1.爬取深圳算法岗位信息 2.爬取猫图片(基于 selenium库 模拟人自动点击) 3.爬取小说纳兰无敌并生成词云 二.用到的库 1.正则表达式 ...

  3. 使用 requests+lxml 库的 Python 爬虫实例(以爬取网页连载小说《撒野》为例)

    需求目标 介绍使用 requests 库与 lxml 库进行简单的网页数据爬取普通框架与爬虫实例,本文以爬取网页连载小说<撒野>为例~ 当然有很多小说基本都能找到现成的 .txt 或者 . ...

  4. php爬去百度图片,python爬虫:随心所欲地爬取百度图片

    文章目录一.前言 二.需要导入的库 三.实现过程 1.下载链接分析 2.代码分析 3.完整代码 四.Blogger's speech 一.前言 之前爬取了很多静态网页的内容,包括:小说.图片等等,今天 ...

  5. python爬虫之一(2):爬取网页小说(圣墟)

    强化: 爬取最新的小说圣墟 代码: #coding=utf-8 import os import sys reload(sys) sys.setdefaultencoding('utf8') from ...

  6. python爬虫爬取百度图片,python爬虫篇2:爬取百度图片

    入门级 import requests import re import os from urllib import error def main(): dirPath = "E:\pyth ...

  7. python爬虫之正则表达式练习——爬取百度图片

    1 明确需求,创建环境 ''' 第一步:明确需求,转换图片 需求:爬取百度图片中关于森林的图片,并保存 网址:https://image.baidu.com/search/index?tn=baidu ...

  8. python爬取图片教程-推荐|Python 爬虫系列教程一爬取批量百度图片

    Python 爬虫系列教程一爬取批量百度图片https://blog.csdn.net/qq_40774175/article/details/81273198# -*- coding: utf-8 ...

  9. python爬虫对炒股有没有用_使用python爬虫实现网络股票信息爬取的demo

    实例如下所示: import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url ...

  10. 使用Python爬取网页图片

    使用Python爬取网页图片 李晓文 21 天前 近一段时间在学习如何使用Python进行网络爬虫,越来越觉得Python在处理爬虫问题是非常便捷的,那么接下来我就陆陆续续的将自己学习的爬虫知识分享给 ...

最新文章

  1. 中国铁建内网漫游沦陷多个重要部门泄漏大量信息(redis+ssh-keygen免认证登录案例)...
  2. chattr 文件隐藏属性
  3. python三引号 内部变量_python在三引号中使用变量
  4. java招投标网站源码_基于jsp的招标系统-JavaEE实现招标系统 - java项目源码
  5. .NET 中上下文的概念
  6. 修改mysql的用户密码
  7. 设置 iOS 应用的图标和名称
  8. android cursor 空,java – Android:即使数据库不为空,Cursor也总是返回null
  9. easyMule-VeryCD-src---VS2010调试笔记
  10. 10分钟搭建树莓派NAS私有云和KODI影音播放系统 (2)---软硬搭配干活不累
  11. linux图片编辑器下载软件,Pix图片编辑器
  12. PyCharm设置背景颜色为白色
  13. 实现LZW字典压缩算法
  14. vue项目购物车组件、清空购物车
  15. [含lw+源码等]javaweb银行柜员业务绩效考核系统
  16. 会说话的TOM猫的原理是什么
  17. Intellij IDEA之mybatis-generator自动生成
  18. 上班路上摔了一跤算工伤吗?
  19. 2021年全球望远镜收入大约1161.6百万美元,预计2028年达到1275百万美元
  20. JAVA开发与运维(Nginx配置详解)

热门文章

  1. Nginx学习总结(9)——前端跨域问题解决
  2. mysql+磁盘i+o+优化_浅析MySQL数据库磁盘I/O调整优化 | 学步园
  3. java爬虫出发onclick事件_java爬虫(五)利用selenium 模拟点击获取动态页面的内容...
  4. vue怎么vw布局好用_Vue项目中使用vw实现移动端适配-阿里云开发者社区
  5. mysql ha_err_key_not_found_mysql主从同步报错:Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND...
  6. tomcat日志输出控制
  7. ios 从前台返回到回台 从后台返回到前台 或者 支付宝支付订单后 对界面进行操作...
  8. 【蓝鸥Unity开发基础三】课时3 Terrain地形系统【未完】
  9. 读《大学之路》有感②
  10. Oracle之PL/SQL学习笔记之有名块练习