爬虫思路

一、确定要爬取的页面——确定目标

1.打开含有图片的网页

2.打开页面代码:右键——>查看源代码

二、分析网页内容

1.url路径格式

2.数据格式(常见 html文档 格式)

3.网页数据编码格式(常见 utf-8)

三、代码实现、运行、修改

代码实现

一、请求网页(网页地址 url)

1.导入网络请求库:import requests

2.请求网页地址:response = requests.get(url)

3.检查是否请求成功(两种方法):

打印输出网页的所有数据:print(response.text)

打印 返回 请求状态码:print(response.raise_for_satus())——None表示请求成功

二、解析文档树

1.导入Beautiful Soup库:import bs4

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库,解析分析网页数据,提取想要的数据

html_parser:bs4自带的解析器

lxml:需要下载安装的解析器

2.遍历文档树,解析搜索数据:soup = bs4.BeautifulSoup(response.text,'html_parser')

3.找到要爬取的数据节点(图片节点):image_urls = soup.select(".image-list-link img")

4.判断当前节点下是否有图片;如果有,提取所有‘src’,所有图片存储路径download_url :

if not image_url in image_urls

print("当前节点下,没图片!")

else

for image_url in image_urls:

download_url = image_url.get('src')

print("下载图片的路径:", download_url)

三、存储爬取的数据

1.导入处理文档的库:import os

2.找到分割点,剔除路径,提取图片名称 file_name

split = download_url.split('/')

file_name = os.path.basename(split[len(split)-1])

print("元素:", file_name)

3.构建本地保存,存储图片的文件夹 image

dir_name = 'image'

os.makedirs(dir_name,exist_ok=True)

4.返回完整的文件本地存储路径 file_path

file_path = os.path.join(dir_name, file_name)

print("file_path:",file_path)

5.检查当前图片路径是否存在,不存在就请求网上图片的地址,并将图片存储到本地路径中

if not os.path.exists(file_path):

image_url_path = requests.get("https:" + download_url)

6.检查当前网址是否请求成功,两种方法:1.print,输出表示请求成功;2.status状态码,输出None

print("请求", image_url_path)

image_url_path.raise_for_status()

7.打开文件夹中的文件(file_path);"wb"二进制读写模式

image_file = open(file_path,"wb")

8.存储每一张图片,获取网页中N个值(随意指定要获取的数目N,这里N=1000)

for images in image_url_path.iter_content(1000):

9.把每次遍历的文件,全部写入文件中

image_file.write(images)

10.io流,在用完数据后,关闭数据流资源

image_file.close()

python怎么爬取一个网页图片_python3爬取网页图片相关推荐

  1. 运用Python爬虫爬取一个美女网址,爬取美女图

    运用Python爬虫爬取一个美女网址,爬取美女图 要运用到的python技术: 导入库 1.request 发送请求,从服务器获取数据 2.BeautifulSoup 用来解析整个网页的源代码 imp ...

  2. python爬虫百度图片_python3爬取百度图片(2018年11月3日有效)

    最终目的:能通过输入关键字进行搜索,爬取相应的图片存储到本地或者数据库 首先打开百度图片的网站,搜索任意一个关键字,比如说:水果,得到如下的界面 分析: 1.百度图片搜索结果的页面源代码不包含需要提取 ...

  3. 为了取一个花名,我爬下了中草药网所有的名字!

    很酷哦! 不过,对我这个选择恐惧症来说,也很纠结- 我们先看一下有哪些要求吧? 中草药名?人参?西洋参?还有啥??? 作为一个不怎么吃药的非医学生,这题真的超纲了呀.我只能求助度娘. 但是有个问题,我 ...

  4. vue中从数组中取一个随机颜色,随机取1到10的一个整数

    data中定义数据 colorArr:[ " red ", " black " , " yellow ", " green &qu ...

  5. python爬取qq空间锁密图片_Python3爬取QQ空间信息(下)

    |下载W3Cschool手机App,0基础随时随地学编程>>戳此了解| 导语 内容回顾: Python爬取QQ空间信息(上) 按照(上)中的安排,本期内容为抓取QQ空间的好友信息并做可视化 ...

  6. python成功爬取拉勾网——初识反爬(一个小白真实的爬取路程,内容有点小多)

    python成功爬取拉勾网(一个小白的心里路程) 最开始想爬取拉钩是因为半年前上python实验课的时候,老师给了两个任务,一个时爬取糗百的笑话内容,另一个时爬取拉勾网的职位信息,当时因为课时紧张的缘 ...

  7. python 异步下载图片_python3抓取异步百度瀑布流动态图片(二)get、json下载代码讲解...

    制作解析网址的get 1 defgethtml(url,postdata):2 3 header = {'User-Agent':4 'Mozilla/5.0 (Windows NT 10.0; WO ...

  8. python爬取音乐源码_python3爬取咪咕音乐榜信息(附源代码)

    1 """ 2 典型的分页型网站--咪咕音乐榜3 有时候运行会报错,有时候正常,原因不知道4 """ 5 importrequests6 f ...

  9. 用python爬取视频及字幕_Python3爬取B站视频弹幕文字+视频

    需要准备的环境: 1.一个B站账号,需要先登录,否则不能查看历史弹幕记录 2.联网的电脑和顺手的浏览器,我用的Chrome 3.Python3环境以及request模块,安装使用命令,换源比较快: 爬 ...

  10. 用python爬取网易云评论_Python3爬取网易云音乐评论|python爬虫|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 本文转载至知乎ID:Charles(白露未晞)知乎个人专栏 下载W3Cschool手机App,0基础随时随 ...

最新文章

  1. 【译】KNOWLEDGE EXTRACTION FROM UNSTRUCTURED TEXTS
  2. 网易java实习面试_2019届网易JAVA实习2面经历
  3. LeetCode Shell 194. 转置文件
  4. zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载
  5. 网址导航html5源码图标版,最新仿hao123网址导航(晓风网址导航系统) v4.2
  6. SAS中修改一个表为编辑模式的时候不成功并给出警告的原因及解决办法
  7. mysql-5.6.14.tar.gz_CentOS 6.4下编译安装MySQL 5.6.14
  8. Clubhouse 推出漏洞奖励计划,严重漏洞最高可获3000美元
  9. Pytorch之认识Variable
  10. .net函数查询_SQL窗口函数
  11. C/C++[codeup 1933,1993]图形输出
  12. 基于Java+SpringBoot+vue+elementui农产品物流系统详细设计实现
  13. 差分管电路图_DIY一款差分输入的晶体管功放电路图
  14. IP报文头详解以及定义
  15. 深度学习 个人理解使用余弦相似度对人脸图片识别的过程
  16. matlab求解线性规划问题的实例代码,用matlab求解线性规划问题.doc
  17. Python爬虫从入门到精通——爬虫实战:爬取猫眼电影排行Top100
  18. Not Assigning
  19. VUE项目前端页面添加水印
  20. 计算机三级 网络技术 大题第一题 答题技巧分享

热门文章

  1. MySQL + Atlas --- 部署读写分离
  2. Python正则表达式详解
  3. oracle 11g新特性之IPS Packing demonstration
  4. Windows XP 所提供的键盘快捷键
  5. 12.凤凰架构:构建可靠的大型分布式系统 --- 容器间网络
  6. 3.啊哈!算法 --- 一大波数正在靠近——枚举!很暴力
  7. 13.看板方法---使用两层系统扩展看板
  8. 6.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 的典型应用场景
  9. 14. CSS 列表
  10. Cocoapods的安装及使用