A. python如何爬取百度图片
几乎所有的网站都会有反爬机制,这就需要在爬取网页时携带一些特殊参数,比如:user-agent、Cookie等等,可以在写代码的时候用工具将所有参数都带上。
B. 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)
C. python为啥有时候用.content爬取的图片是0 kb
这种情况一般都是你虽然找到了下载地址,却无法下载图片。最常见的两个可能:你和服务器之间的通信效果不好,另一种就是人家基于内容进行了保护,也就是反扒
D. 用Python爬虫爬取的图片怎么知道图片有没有水印
看啊 眼睛是能判断的
E. python抓取网页上图片
正则表达式匹配的url有错误
for x in add:
print x # 这里可以看到报错的时候是 url 错误
dirpath = os.path.join('C:\\Users\\lilinan\\Desktop\\新建文件夹','%s.jpg' % t)
urllib.request.urlretrieve(x,dirpath)
t+=1
F. 使用python爬取网页,获取不到图片地址
这个大图片是在点击之后用 JS 控制加载的。
你可以看看 js/js.js 这个文件,253 行:
functionchangeImg(){
jQuery("#bitImg").attr('src','p/p'+pictID+'/'+indexNum+'.'+jpgPng);
}
其实大图的规律很好找, 下面缩略图列表的 src 可以用 #variContent > li > img 取到,可以在源码中的 107 行找到:
view-source:http://pictogram2.com/?p=2315
缩略图列表地址长这样:
/p/p0997/tn/1.jpg
/p/p0997/tn/2.jpg
/p/p0997/tn/3.jpg
...
如果要获取大图,只要去掉“tn”这一段就可以:
/p/p0997/1.jpg
/p/p0997/2.jpg
/p/p0997/3.jpg
...
然后拼接域名在前面,GET 下来就是大图,比如第一个大图链接:
第一个大图地址
不过,你如果仅仅只是想要抓那个站的全部素材,穷举“p0997”这一段的序号(比如改成“p0098”,这个应该是图集的 ID),并且遍历最后一段的图片序号,扩展名可能是 jpg 也可能是 png,从 1 开始(“1.jpg”,“2.jpg”...)直到返回 404 停止。
思路大概是这么个思路,不过话说回来,你这么爬人家素材真的道德吗?
G. python3 爬取图片异常的原因
我们在下载文件时,一会会采取urlretrieve或是requests的get方式,
from urllib.request import urlretrieve
urlretrieve(self.url, filename="xxx.png")
但对于连续下载,各个文件保存是需要时间的,而程序运行永运是快于存储的,我怀疑这是水管里流水速度与缸的大小不合适的原因,那可以试试下面这种方式:
r = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.flush()
H. python如何利用requests和bs4爬取图片
目标网站网址呢?网址发出来我看一下
每个网站的HTML结构不一样,解析代码就不一样,要针对不同的网站编写不同的代码
编写爬虫代码前还要评估目标网站是否需要登录,数据是否有加密等诸多问题