fkjj.net
当前位置:首页 >> python图片爬取 >>

python图片爬取

首先你要安装Pillow这个库,它可以帮助你获取这个图片的类型.import cStringIO, urllib2, timefrom PIL import Imageurl = 'http://mmbiz.qpic.cn/mmbiz/ps10zEBfNnNmOicGTbFWic436iaZKwahrsEwn0ve5RTmAvbU6ibxqbcn39

你单独urlretrieve 损坏图片的url 呢 看看能否下载下来 如果正常的话 是不是程序批量爬的时候 网络超时

你好!你的错误原因在于html页面获取到的img标签src属性中的链接,可能是因为src中的url格式是这样的:<img src="//hao123.com/xxx/xxx/xxx/"></img>这样获取到的链接都没有带上协议:http或者https.而导致程序抛出ValueError的错误异常

得看目标网站的复杂程度.例如百度知道没有反爬机制,很容易爬.但是网易云音乐有js加密,就比较难了.我的个人博客,欢迎访问

百度的反爬虫机制触发了,它检测到你是爬虫所以拒绝了你的请求.这个东西比较复杂,建议网上搜一搜反爬虫机制,然后一个一个试解决办法.最简单的就是通过代理服务器来爬.最后建议你可以试一试requests库,我在爬取微博图床的时候只用requests库就完美解决了反爬虫,再没报过错.

# encoding: UTF-8 import re # 将正则表达式编译成Pattern对象 pattern = re.compile(r'<img[^>]*src[=\"\']+([^\"\']*)[\"\'][^>]*>', re.I) # 使用search()查找匹配的子串,不存在能匹配的子串时将返回None match = pattern.search('hello world!') if match: # 使用Match获得分组信息 print match.group(1)

打开Chrome console,选择Network XHR然后下拉加载然后,直接get那个Request URL借能得到图片的json数据了再然后,解析json得到图片url, 下载图片时记得在header中添加Referer, 其值就是上面的Request URL.不然会403 forbidden!

%d后面应该对应一个数字变量,这么写会报错

点图片之前开启firebug,切换到网络标签,看看你点图片的时候发生了什么.然后模仿那个http请求.重新看了一下图,好像没那么麻烦.下面那个img标签里的 data-src 不就是原图地址?

单个英雄 点击其中一个英雄的头像,例如第一个“百里守约”,进去后如下: 网址为https://pvp.qq.com/web201605/herodetail/196.shtml 网址中196.shtml以前的字符都是不变的,变化的只是196.shtml.而196是“百里守约”这个英雄所对应的数字,要想爬取图片就应该进入每个英雄皮肤图片所在的网址,而所有英雄的网址的关键就是每个英雄对应的数字.

网站首页 | 网站地图
All rights reserved Powered by www.fkjj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com