(用python爬取网站数据)(如何用python爬取全网数据)

爬取网页图片的基本流程是:

1 使用urllib.request模板请求返回网页文本;

2 从网页文本中使用正则表达式筛选出img src地址(返回一个全部src的列表);

3 图片文件逐一检索或复制;

代码:

(用python爬取网站数据)(如何用python爬取全网数据)
(用python爬取网站数据)(如何用python爬取全网数据)

运行效果:

(用python爬取网站数据)(如何用python爬取全网数据)
(用python爬取网站数据)(如何用python爬取全网数据)

附代码1:

import re

import urllib.request

import os

#1 抓取网页

#url = 'http://www.kgc.cn/list'

url = 'http://www.ttpaihang.com/vote/rank.php?voteid=1410&page=2'

req = urllib.request.urlopen(url)

buf = req.read()

req.close()

#2 获取图片地址

i = url.find("/",9) # 本句及下面三句截取url的前半截

url2 = url

if i > 0 :

....url2 = url[:i]

#buf = buf.decode('UTF-8')

buf = buf.decode('gb2312')

#listurl = re.findall(r'http:.[^"]+\.jpg',buf)

listurl = re.findall(r'img src=.[^"]+\.jpg',buf)

for i in range(len(listurl)):.... # 把字符img src="去掉

....listurl[i]=listurl[i].replace('img src="',"")

....if not re.match("http",listurl[i]):

........listurl[i]=url2 + listurl[i]

....print(listurl[i])

#3 抓取图片并保存到本地

i = 0

fpath = "D:\\pic2\\"

if not os.path.isdir(fpath):

....os.mkdir(fpath)

for url in listurl:

....f=open(fpath + str(i)+'.jpg','wb')

....req = urllib.request.urlopen(url)

....buf = req.read()

....f.write(buf)

....f.close()

....i+=1

........

附代码2(写成函数的形式)

import re .... .... .... .... # 正则表达式

import urllib.request .... .... # 从服务器请求返回资源

import os .... .... .... .... # 文件和目录操作

import socket .... .... .... .... # 套接字操作

#socket.setdefaulttimeout(20)....................# 设置socket层的超时时间为20秒

def gethtml(url): #1 抓取网页html内容

....with urllib.request.urlopen(url) as req:

........buf = req.read()

........return buf

def getImg(buf,codec,fpath): #2 从html筛选图片地址到list

....i = url.find("/",9)............................ # 本句及下面三句截取url的前半截

....url2 = url

....if i > 0 :

........url2 = url[:i]

....buf = buf.decode(codec)

....

....reg = r'img src="(.+?\.jpg)"'....#正则表达式,得到图片地址

....#listurl = re.findall(r'http:.[^"]+\.jpg',buf)

....#listurl = re.findall(r'img src=.[^"]+\.jpg',buf)

....listurl = re.findall(reg,buf)

....print("准备下载图片数量:",len(listurl))

....for i in range(len(listurl)):................

........#listurl[i]=listurl[i].replace('img src="',"") # 把字符img src="去掉

........if not re.match("http",listurl[i]):

............listurl[i]=url2 + listurl[i]

........print(listurl[i])

............#3 抓取图片并保存到本地

....i = 0

....

....if not os.path.isdir(fpath):

........os.mkdir(fpath)

....'''

....for imgurl in listurl:

........urllib.request.urlretrieve(imgurl,fpath + str(i)+'.jpg')

........i+=1

....'''#下面的操作方式要快一点

....for imgurl in listurl:

........f=open(fpath + str(i)+'.jpg','wb') # 新建空白图片文件

........req = urllib.request.urlopen(imgurl) # 获取网页图片文件

........buf = req.read().... .... .... # 读取网站上图片文件内容

........f.write(buf).... .... .... # 将网站上图片内容写入新建的图片文件

........f.close()

........i+=1

# 四处内容需要确认:1 网页url; .... ....2 网页编码UTF-8或gb2312;

#................ 3 图片扩展名jpg或png(两处); 4 保存的文件夹

#url = 'http://www.kgc.cn/list'

url = 'http://www.ttpaihang.com/vote/rank.php?voteid=1410&page=3'

buf = gethtml(url)

#codec = 'UTF-8'

codec = 'gb2312'

fpath = "D:\\pic4\\"

print(getImg(buf,codec,fpath))

-End-

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者小智雅汇所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(用python爬取网站数据)(如何用python爬取全网数据)
本文链接:https://www.51qsb.cn/article/m8xch.html

(python编程入门自学)(python编程入门自学免费教程)
上一篇2023-02-21
(python爬虫有多可怕)(python爬虫有哪些)
下一篇2023-02-21

你可能还想知道

ceguang

猜你喜欢

玻璃钢生产厂家商场卫生间美陈沈阳制作玻璃钢雕塑厂家乳白色欧式玻璃钢雕塑花盆布朗熊商场美陈呼市商场室外美陈价格成都抽象玻璃钢雕塑商场美陈巡检玻璃钢雕塑问天天软文推广北京专业玻璃钢雕塑玻璃钢仿铜雕塑定制价格电子档商场的美陈方案玻璃钢雕塑最简单的制作方法工艺玻璃钢雕塑销售价格玻璃钢雕塑造型图片玻璃钢蝴蝶仙子雕塑玻璃钢雕塑样本曲阳玻璃钢雕塑制造公司郑州大型玻璃钢人物雕塑设计临潼玻璃钢雕塑厂家价格玻璃钢雕塑有用吗玻璃钢雕塑的小知识点咸阳玻璃钢雕塑生产厂家玻璃钢门口迎宾鞠躬雕塑四川玻璃钢造型雕塑批发云南玻璃钢艺术雕塑西安卡通玻璃钢雕塑公司三门峡公园不锈钢玻璃钢彩绘雕塑南关玻璃钢雕塑厂家盐城白色玻璃钢花盆辽宁玻璃钢雕塑加工香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化