python3抓取图片脚本_使用Python3编写抓取网页和只抓网页图片的脚本
最基本的抓取网页内容的代码实现:
#!/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编写抓取网页和只抓网页图片的脚本相关推荐
- python3.6字典有序_为什么Python3.6字典变得有序了?
原博文 2019-12-25 16:09 − 其实 在你看了笔者的文章之前,或许想过这样一个问题, 为什么列表是有顺序的呢?而字典不是? 来看一下在内存中是怎样存储的就知道了: 列表的存储是顺序存储, ...
- 用python写shell脚本_应用python编写shell脚本
今天同事叫我编写一个shell脚本.话说,虽然我受*nix的影响甚深,但是对于*nix里随处可见的sh脚本却是讨厌之极.为什么讨厌呢?首先是因为sh脚本那莫名其妙的语法,感觉就像随写随扔的程序,完全没 ...
- android 类似按键精灵脚本_按键精灵【第一期】教你 0 基础学写脚本 ———— 【金猪教程】...
金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...
- python 批量下载网页图片_手把手教你爬取天堂网1920*1080大图片(批量下载)——实战篇|python基础教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ /1 前言/ 上篇文章 手把手教你爬取天堂网1920*1080大图片(批量下载)--理论篇我们谈及了天堂网 ...
- python3中map函数_解决Python3下map函数的显示问题
map函数是Python里面比较重要的函数,设计灵感来自于函数式编程.Python官方文档中是这样解释map函数的: map(function, iterable, ...) Return an it ...
- python3中format方法_[翻译]python3中新的字符串格式化方法-----f-string
从python3.6开始,引入了新的字符串格式化方式,f-字符串. 这使得格式化字符串变得可读性更高,更简洁,更不容易出现错误而且速度也更快. 在本文后面,会详细介绍f-字符串的用法. 在此之前,让我 ...
- python3 网站状态监控_基于python3监控服务器状态进行邮件报警
在正式的生产环境中,我们常常会需要监控服务器的状态,以保证公司整个业务的正常运转,常常我们会用到像nagios.zabbix这类工具进行实时监控,那么用python我们怎么进行监控呢?这里我们利用了p ...
- python3调用c代码_在Python3.6中调用C代码
由于完全不懂用C#编写代码,我希望在python代码中调用C#函数.我知道在同一个问题上有很多问题,但是由于一些奇怪的原因,我无法从一个示例python模块导入一个简单的c类库.在 以下是我所做的-C ...
- python3.7不能用_解决Python3.7.0 SSL低版本导致Pip无法使用问题
终于下决心把python从2.7升到了3.7.懒人安装当然使用Anaconda. 安装成功,编译成功.但是用pip 安装包的时候提示: pip is configured with locations ...
- 实验楼python3中挑战一_实验楼python3学习挑战项目
实验楼python3学习挑战项目 在实验楼学习python3做的挑战项目做的代码整理. 链接:https://www.shiyanlou.com/courses/596 1.圆的面积 题目: 能够计算 ...
最新文章
- cookie 和 session 机制
- navicat 连接 mogodb 报错 requires authentication
- 已知两个时间戳判断这两个时间是否在同一天
- html head
- 自动装箱自动拆箱java,自动装箱?拆箱?==问题?详解java面试常见的一个问题...
- 面向对象三节课,对象与权限修饰符,作业0918
- Mysql学习总结(75)——并发量大、数据量大的互联网业务数据库设计军规
- eclipse安装emmet之后ctrl+d热键冲突的解决方法
- 零基础搭建Hadoop大数据处理
- 【期末划重点】电路与电子技术基础
- SegNet论文理解
- RSA加密算法流程图
- Sentinel-1A数据 GRD和SLC的区别
- k2000显卡相当于gtx_电脑中的显卡是什么样干什么样的?NVDIA推出的两块Quadro显卡K1000M和K2000M性能究竟差多少...
- iOS开发- 以图搜图功能实现 (源码+解析)
- 少吃盐,一定要少吃盐!
- DataGrip连接MySQL报错: Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon
- 一个西二旗码农的自白
- 太爽啦,GitHub网站1S变VS Code
- UGC用户原创内容管理