python+requests抓取页面图片
前言:
学完requests库后,想到可以利用python+requests爬取页面图片,想到实战一下。依照现在所学只能爬取图片在html页面的而不能爬取由JavaScript生成的图片,所以我选取饿了打开下面这个页面http://p.weather.com.cn/2017/06/2720826.shtml#p=7
案例步骤:
1.利用requests库,调用requests库中的get()方法,打开需要爬去的页面url,返回页面内容,下面是自定义的打开页面的方法
def load_page(url):
response=requests.get(url)
data=response.content
return data
2.用正则表达式去匹配页面的图片链接,匹配成功后,把图片下载下来,保存到对应的文件位置,下面是自定义的保存图片方法
def get_image(html):
regx=r'http://[\S]*jpg'
pattern=re.compile(regx)
get_images=re.findall(pattern,repr(html)) num=1
for img in get_images:
image=load_page(img)
with open('./spider_picture/%s.jpg' % num,'wb') as fb:
fb.write(image)
print("正在下载第%s张图片" %num)
num=num+1
print("下载完成!")
完整案例源码:
# coding:utf-8
# 引入requests包和正则表达式包re
import requests
import re # 自定义下载页面函数
def load_page(url):
response=requests.get(url)
data=response.content
return data # 自定义保存页面图片函数
def get_image(html):
regx=r'http://[\S]*jpg' # 定义图片正则表达式
pattern=re.compile(regx) # 编译表达式构造匹配模式
get_images=re.findall(pattern,repr(html)) # 在页面中匹配图片链接 num=1
# 遍历匹配成功的链接
for img in get_images:
image=load_page(img) #根据图片链接,下载图片链接
# 将下载的图片保存到对应的文件夹中
with open('./spider_picture/%s.jpg' % num,'wb') as fb:
fb.write(image)
print("正在下载第%s张图片" %num)
num=num+1
print("下载完成!") # 定义爬取页面的链接
url ='http://p.weather.com.cn/2017/06/2720826.shtml#p=7'
# 调用load_page函数,下载页面内容
html = load_page(url)
# 在页面中,匹配图片链接,并将图片下载下来,保存到对应文件夹
get_image(html)
python+requests抓取页面图片的更多相关文章
- python requests抓取NBA球员数据,pandas进行数据分析,echarts进行可视化 (前言)
python requests抓取NBA球员数据,pandas进行数据分析,echarts进行可视化 (前言) 感觉要总结总结了,希望这次能写个系列文章分享分享心得,和大神们交流交流,提升提升. 因为 ...
- python 爬虫之requests爬取页面图片的url,并将图片下载到本地
大家好我叫hardy 需求:爬取某个页面,并把该页面的图片下载到本地 思考: img标签一个有多少种类型的src值?四种:1.以http开头的网络链接.2.以“//”开头网络地址.3.以“/”开头绝对 ...
- Python爬虫 —— 抓取美女图片
代码如下: #coding:utf-8 # import datetime import requests import os import sys from lxml import etree im ...
- Python爬虫 —— 抓取美女图片(Scrapy篇)
杂谈: 之前用requests模块爬取了美女图片,今天用scrapy框架实现了一遍. (图片尺度确实大了点,但老衲早已无恋红尘,权当观赏哈哈哈) Item: # -*- coding: utf-8 - ...
- python实现抓取必应图片设置桌面
源码参考https://github.com/vbirds/pyWallpaper,代码风格不错 本人只是将其适配到python3.5,并消除一些bug,源代码中桌面地址未使用绝对路径导致win10 ...
- python requests抓取猫眼电影
1. 网址:http://maoyan.com/board/4? 2. 代码: import json from multiprocessing import Pool import requests ...
- Python实现抓取页面上链接
方法一: # coding:utf-8 import re import requests # 获取网页内容 r = requests.get('http://www.163.com') data ...
- Python 爬虫: 抓取花瓣网图片
接触Python也好长时间了,一直没什么机会使用,没有机会那就自己创造机会!呐,就先从爬虫开始吧,抓点美女图片下来. 废话不多说了,讲讲我是怎么做的. 1. 分析网站 想要下载图片,只要知道图片的地址 ...
- Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>
Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...
随机推荐
- Java中一对多映射关系
通过栗子,一个人可以有多辆汽车 定义人 这个类 人可以有很多辆汽车,类中车属性用数组 class Person{ private String name; private String phone ...
- jquery插件中(function ( $, window, document, undefined )的作用
在jquery插件中我们经常看到以下这段代码 ;(function ( $, window, document, undefined ){ //函数体内具体代码 })(jQuery, window,d ...
- WCF 学习笔记
Windows Communication Foundation (WCF) 是用于构建面向服务的应用程序的框架.借助 WCF,可以将数据作为异步消息从一个服务终结点发送至另一个服务终结点.服务终结点 ...
- JavaScript - this详解 (一)
侃侃JavaScript中的this this为何如此多变? this总是跟它的执行上下文有关,而在JavaScript总会有开辟新的执行上下文的东西,比如函数,所以,this才如此的变化. 执行环境 ...
- 从源代码分析DbSet如何通过ObjectStateManager管理entity lifecycle的生命周期
一:Savechange的时候,怎么知道哪些entity被add,modify,delete,unchange ???? 如何来辨别... 在entity中打上标记来做表示...已经被跟踪了...当每 ...
- jquery 实现抖动效果
jQuery.fn.shake = function (intShakes /*Amount of shakes*/, intDistance /*Shake distance*/, intDurat ...
- IE8下window.open 二次无法加载页面
我原先的IE是系统默认自带的IE7,升级到IE8之后,就出现了此现象: 打开一个窗口(window.open方式)后,再打开时,新窗口的页面显示空白,无法加载其内容.关闭ie后,重新偿亦是如此,第一次 ...
- EasyFastCMS系列教学课程——1、三层框架的搭建
在本系列教程中,我们以一个大型CMS系统的完整开发流程为例,和大家一起探讨net开发的经验和教训.在本程序中,我们采用了流行的三层/N层框架+仓储模式的架构模式.项目分层示意图: 各层的主要用 ...
- day10学python socket用户交互+MD5加密
socket用户交互+MD5加密 利用socket从client传输文件指令于server 再返还字节大小与内容 socketserver的使用(重要) 注意: ##client.recv(1024) ...
- OCP 052新加的考试题收集整理-第20道
20. Which is true about the SYSTEM and SYSAUX tablespaces? A) The SYSAUX tablespace can be made read ...