python爬虫图片抓取
㈠ 如何用python做爬虫
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。
我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧其实你很厉害的,右键查看页面源代码。
我们可以通过python来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地。下面就看看如何使用python来实现这样一个功能。
㈡ 如何用Python爬取数据
方法/步骤
在做爬取数据之前,你需要下载安装两个东西,一个是urllib,另外一个是python-docx。
7
这个爬下来的是源代码,如果还需要筛选的话需要自己去添加各种正则表达式。
㈢ 如何用python实现爬取微博相册所有图片
三种方案:
1.直接用Python的requests库直接爬取,不过这个需要手动做的事情就比较多了,基本上就看你的Python功力了
2.使用scrapy爬虫框架,这个框架如果不熟悉的话只能自己先去了解下这个框架怎么用
3.使用自动测试框架selemium模拟登录操作,及图片爬取,这个对于大多数会点Python编码的人来说是最好的选择了,他比较直观的能看到怎么去获取数据
每种方案的前提都是你必须有一定基础的编码能力才行,不是随便一个人就能用的
㈣ Python爬虫爬取图片这个报错怎么处理
你好!你的错误原因在于html页面获取到的img标签src属性中的链接,可能是因为src中的url格式是这样的:
<imgsrc="//hao123.com/xxx/xxx/xxx/"></img>
这样获取到的链接都没有带上协议:http或者https。而导致程序抛出ValueError的错误异常。
因为正常的url格式应该类似这样的:https://www..com/
即 协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
参考网页链接
可将代码中第一个for循环中download_links.append修改为:
forpic_taginsoup.find_all('img'):
pic_link=pic_tag.get('src')
download_links.append('http:'+pic_link)
㈤ python 爬取图片,没有后缀名
首先你要安装Pillow这个库,它可以帮助你获取这个图片的类型。
importcStringIO,urllib2,time
fromPILimportImage
url='http://mmbiz.qpic.cn/mmbiz/KrBnGnvYojpichqTUY5X3g/0'
req=urllib2.urlopen(url)
data=req.read()
tmpIm=cStringIO.StringIO(data)
im=Image.open(tmpIm)
tm='%s.%s'%(int(time.time()),im.format.lower())
withopen(tm,'wb')asfp:
fp.write(data)
给分吧,哈啊哈。
如果解决了您的问题请采纳!
如果未解决请继续追问!
㈥ linux下python怎么写爬虫获取图片
跟linux有什么关系,python是跨平台的,爬取图片的代码如下:
import urllib.requestimport osimport randomdef url_open(url):
req=urllib.request.Request(url) #为请求设置user-agent,使得程序看起来更像一个人类
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0') #代理IP,使用户能以不同IP访问,从而防止被服务器发现
'''iplist=['1.193.162.123:8000','1.193.162.91:8000','1.193.163.32:8000']
proxy_support=urllib.request.ProxyHandler({'http':random.choice(iplist)})
opener=urllib.request.build_opener(proxy_support)
opener.addheaders=[('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER')]
urllib.request.install_opener(opener)'''
response=urllib.request.urlopen(req)
html=response.read() return htmldef get_page(url):
html=url_open(url).decode('utf-8')
a=html.find('current-comment-page')+23
b=html.find(']',a) #print(html[a:b])
return html[a:b]def find_imgs(url):
html=url_open(url).decode('utf-8')
img_addrs=[]
a=html.find('img src=') while a!=-1:
b=html.find('.jpg',a,a+140) if b!=-1: if html[a+9]!='h':
img_addrs.append('http:'+html[a+9:b+4]) else:
img_addrs.append(html[a+9:b+4]) else:
b=a+9
a=html.find('img src=',b) for each in img_addrs:
print(each+'我的打印') return img_addrsdef save_imgs(folder,img_addrs):
for each in img_addrs: #print('one was saved')
filename=each.split('/')[-1] with open(filename,'wb') as f:
img=url_open(each)
f.write(img)def download_mm(folder='ooxx',pages=10):
os.mkdir(folder)
os.chdir(folder)
url=""
page_num=int(get_page(url)) for i in range(pages):
page_num=page_num-1
page_url=url+'page-'+str(page_num)+'#comments'
img_addrs=find_imgs(page_url)
save_imgs(folder,img_addrs)if __name__=='__main__':
download_mm()
完成
运行结果
㈦ Python如何爬取百度图片
几乎所有的网站都会有反爬机制,这就需要在爬取网页时携带一些特殊参数,比如:user-agent、Cookie等等,可以在写代码的时候用工具将所有参数都带上。