python爬图⽚代码⼤全_Python爬⾍实现百度图⽚⾃动下载制作爬⾍的步骤
制作⼀个爬⾍⼀般分以下⼏个步骤:
分析需求分析⽹页源代码,配合开发者⼯具编写正则表达式或者XPath表达式正式编写 python 爬⾍代码 效果预览
sql左连接查询运⾏效果如下:
存放图⽚的⽂件夹:编程猫的拼音
需求分析
我们的爬⾍⾄少要实现两个功能:⼀是搜索图⽚,⼆是⾃动下载。
搜索图⽚:最容易想到的是爬百度图⽚的结果,我们就上百度图⽚看看:
随便搜索⼏个关键字,可以看到已经搜索出来很多张图⽚:
分析⽹页
我们点击右键,查看源代码:
打开源代码之后,发现⼀堆源代码⽐较难出我们想要的资源。
这个时候,就要⽤开发者⼯具!我们回到上⼀页⾯,调出开发者⼯具,我们需要⽤的是左上⾓那个东西:(⿏标跟随)。
计算机网络要学编程吗然后选择你想看源代码的地⽅,就可以发现,下⾯的代码区⾃动定位到了相应的位置。如下图:
我们复制这个地址,然后到刚才的⼀堆源代码⾥搜索⼀下,发现了它的位置,但是这⾥我们⼜疑惑了,这个图⽚有这么多地址,到底⽤哪个呢?我们可以看到有thumbURL,middleURL,hoverURL,objURL
通过分析可以知道,前⾯两个是缩⼩的版本,hoverURL 是⿏标移动过后显⽰的版本,objURL 应该是我们需要的,可以分别打开这⼏个⽹址看看,发现 objURL 的那个最⼤最清晰。
到了图⽚地址,接下来我们分析源代码。看看是不是所有的 objURL 都是图⽚。html个人网页完整代码图片
发现都是以.jpg格式结尾的图⽚。
编写正则表达式
pic_url = re.findall('"objURL":"(.*?)",',html,re.S)
编写爬⾍代码
这⾥我们⽤了2个包,⼀个是正则,⼀个是 requests 包
#-*- coding:utf-8 -*-
import re
import requests
复制百度图⽚搜索的链接,传⼊ requests ,然后把正则表达式写好
url = 'image.baidu/search/index?tn=baiduimage&ie=utf-
8&word=%E6%A0%97%E5%B1%B1%E6%9C%AA%E6%9D%A5%E5%A4%B4%E5%83%8F&ct=201326592&ic=0&lm=-
sqlyog 社区版1&width=&height=&v=index' html = (url).text pic_url = re.findall('"objURL":"(.*?)",',html,re.S)
flutterui组件库因为有很多张图⽚,所以要循环,我们打印出结果来看看,然后⽤ requests 获取⽹址,由于有些图⽚可能存在⽹址打不开的情况,所以加了10秒超时控制。
pic_url = re.findall('"objURL":"(.*?)",',html,re.S) i = 1 for each in pic_url:
print each
try:
pic= (each, timeout=10)
ptions.ConnectionError: print('【错误】当前图⽚⽆法下载')
continue
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论