最基本的抓取网页内容的代码实现:

#!/usr/bin/env python

from urllib import urlretrieve

def firstNonBlank(lines):

for eachLine in lines:

if not eachLine.strip():

continue

else:

return eachLine

def firstLast(webpage):

f = open(webpage)

lines = f.readlines()

f.close()

print firstNonBlank(lines),

lines.reverse()

print firstNonBlank(lines),

def download(url='http://www',process=firstLast):

try:

retval = urlretrieve(url)[0]

except IOError:

retval = None

if retval:

process(retval)

if __name__ == '__main__':

download()

利用urllib模块,来实现一个网页中针对图片的抓取功能:

import urllib.request

import socket

import re

import sys

import os

targetDir = r"C:\Users\elqstux\Desktop\pic"

def destFile(path):

if not os.path.isdir(targetDir):

os.mkdir(targetDir)

pos = path.rindex('/')

t = os.path.join(targetDir, path[pos+1:])

return t

if __name__ == "__main__":

hostname = "http://www.douban.com"

req = urllib.request.Request(hostname)

webpage = urllib.request.urlopen(req)

contentBytes = webpage.read()

for link, t in set(re.findall(r'(http:[^\s]*?(jpg|png|gif))', str(contentBytes))):

print(link)

urllib.request.urlretrieve(link, destFile(link))

import urllib.request

import socket

import re

import sys

import os

targetDir = r"H:\pic"

def destFile(path):

if not os.path.isdir(targetDir):

os.mkdir(targetDir)

pos = path.rindex('/')

t = os.path.join(targetDir, path[pos+1:]) #会以/作为分隔

return t

if __name__ == "__main__":

hostname = "http://www.douban.com/"

req = urllib.request.Request(hostname)

webpage = urllib.request.urlopen(req)

contentBytes = webpage.read()

match = re.findall(r'(http:[^\s]*?(jpg|png|gif))', str(contentBytes) )#r'(http:[^\s]*?(jpg|png|gif))'中包含两层圆括号,故有两个分组,

#上面会返回列表,括号中匹配的内容才会出现在列表中

for picname, picType in match:

print(picname)

print(picType)

'''''

输出:

http://img3.douban.com/pics/blank.gif

gif

http://img3.douban.com/icon/g111328-1.jpg

jpg

http://img3.douban.com/pics/blank.gif

gif

http://img3.douban.com/icon/g197523-19.jpg

jpg

http://img3.douban.com/pics/blank.gif

gif

...

'''

希望与广大网友互动??

点此进行留言吧!

python3抓取图片脚本_使用Python3编写抓取网页和只抓网页图片的脚本相关推荐

  1. python3.6字典有序_为什么Python3.6字典变得有序了?

    原博文 2019-12-25 16:09 − 其实 在你看了笔者的文章之前,或许想过这样一个问题, 为什么列表是有顺序的呢?而字典不是? 来看一下在内存中是怎样存储的就知道了: 列表的存储是顺序存储, ...

  2. 用python写shell脚本_应用python编写shell脚本

    今天同事叫我编写一个shell脚本.话说,虽然我受*nix的影响甚深,但是对于*nix里随处可见的sh脚本却是讨厌之极.为什么讨厌呢?首先是因为sh脚本那莫名其妙的语法,感觉就像随写随扔的程序,完全没 ...

  3. android 类似按键精灵脚本_按键精灵【第一期】教你 0 基础学写脚本 ———— 【金猪教程】...

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  4. python 批量下载网页图片_手把手教你爬取天堂网1920*1080大图片(批量下载)——实战篇|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ /1 前言/ 上篇文章 手把手教你爬取天堂网1920*1080大图片(批量下载)--理论篇我们谈及了天堂网 ...

  5. python3中map函数_解决Python3下map函数的显示问题

    map函数是Python里面比较重要的函数,设计灵感来自于函数式编程.Python官方文档中是这样解释map函数的: map(function, iterable, ...) Return an it ...

  6. python3中format方法_[翻译]python3中新的字符串格式化方法-----f-string

    从python3.6开始,引入了新的字符串格式化方式,f-字符串. 这使得格式化字符串变得可读性更高,更简洁,更不容易出现错误而且速度也更快. 在本文后面,会详细介绍f-字符串的用法. 在此之前,让我 ...

  7. python3 网站状态监控_基于python3监控服务器状态进行邮件报警

    在正式的生产环境中,我们常常会需要监控服务器的状态,以保证公司整个业务的正常运转,常常我们会用到像nagios.zabbix这类工具进行实时监控,那么用python我们怎么进行监控呢?这里我们利用了p ...

  8. python3调用c代码_在Python3.6中调用C代码

    由于完全不懂用C#编写代码,我希望在python代码中调用C#函数.我知道在同一个问题上有很多问题,但是由于一些奇怪的原因,我无法从一个示例python模块导入一个简单的c类库.在 以下是我所做的-C ...

  9. python3.7不能用_解决Python3.7.0 SSL低版本导致Pip无法使用问题

    终于下决心把python从2.7升到了3.7.懒人安装当然使用Anaconda. 安装成功,编译成功.但是用pip 安装包的时候提示: pip is configured with locations ...

  10. 实验楼python3中挑战一_实验楼python3学习挑战项目

    实验楼python3学习挑战项目 在实验楼学习python3做的挑战项目做的代码整理. 链接:https://www.shiyanlou.com/courses/596 1.圆的面积 题目: 能够计算 ...

最新文章

  1. cookie 和 session 机制
  2. navicat 连接 mogodb 报错 requires authentication
  3. 已知两个时间戳判断这两个时间是否在同一天
  4. html head
  5. 自动装箱自动拆箱java,自动装箱?拆箱?==问题?详解java面试常见的一个问题...
  6. 面向对象三节课,对象与权限修饰符,作业0918
  7. Mysql学习总结(75)——并发量大、数据量大的互联网业务数据库设计军规
  8. eclipse安装emmet之后ctrl+d热键冲突的解决方法
  9. 零基础搭建Hadoop大数据处理
  10. 【期末划重点】电路与电子技术基础
  11. SegNet论文理解
  12. RSA加密算法流程图
  13. Sentinel-1A数据 GRD和SLC的区别
  14. k2000显卡相当于gtx_电脑中的显卡是什么样干什么样的?NVDIA推出的两块Quadro显卡K1000M和K2000M性能究竟差多少...
  15. iOS开发- 以图搜图功能实现 (源码+解析)
  16. 少吃盐,一定要少吃盐!
  17. DataGrip连接MySQL报错: Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon
  18. 一个西二旗码农的自白
  19. 太爽啦,GitHub网站1S变VS Code
  20. UGC用户原创内容管理

热门文章

  1. 转载——关于bp神经网络
  2. 破B操作系统:(1)显示桌面图标
  3. Mysql Like 性能优化总结
  4. ElasticSearch常用的几种查询方式
  5. spring源码:@Bean注解解析
  6. 使用layoutParams设置控件高宽需要注意的问题
  7. web扫描工具-Nikto介绍与使用
  8. python基础——map/reduce
  9. file_get_contents打开中文名文件时出错
  10. testNg官方文档