python3.6 涂鸦王国-图片-爬虫笔记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python3.6 涂鸦王国-图片-爬虫笔记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2203字,纯文字阅读大概需要4分钟。
内容图文
打开第一个链接,查看详细信息
关键点在于
前一个.jpg是原图,可以通过操作字符串的方式改写得到原链接
更早时候发布的图片,链接方式不一样
这里写一个判断获取的src是否为空就可以区分
关键问题解决,整理下思路
1.https://www.gracg.com/p599367964217379?page=1
改变“page=x”可以得到所有的图片的目录列表------format可以操作
2.xpath得到每个缩略图所指向的图片单独链接
def get_infos(url):
res=requests.get(url,headers=headers)
selector=etree.HTML(res.text)
pic_urls=selector.xpath('//div[@class="imgbox"]/a/@href')
for pic_url in pic_urls:
print(pic_url)
get_pictures(pic_url)
time.sleep(1)
3.得到单独一个图片链接之后,区分新旧网页的代码,构造下载链接
def get_pictures(url):
res=requests.get(url,headers=headers)
selector=etree.HTML(res.text)
#获取图片的名字
pic_name=selector.xpath('/html/body/div[1]/div[2]/div[1]/div/div[2]/text()')
name=pic_name[0].strip().replace('\n','')#去除空格回车这些乱七八糟的
print(name)
#获取图片的下载链接
pic_url=selector.xpath('//div[@class="workPage-images"]/img/@src')
# print(pic_url)
if len(pic_url):
# 如果不只有一张图片,图片名字后面加数字
if len(pic_url)==1:
downloadurl = pic_url[0].split('!')[0]
data = requests.get(downloadurl, headers=headers)
fp = open(downloadpath + name + '.jpg', 'wb')
fp.write(data.content)
fp.close()
else:
num=1
for pic_u in pic_url:
downloadurl=pic_u.split('!')[0]
data=requests.get(downloadurl,headers=headers)
fp=open(downloadpath+name+'__'+num.__str__()+'.jpg','wb')
num+=1
fp.write(data.content)
fp.close()
# print(downloadurl)
else:
pic_url=selector.xpath('//div[@class="workPage-images"]/a/@href')
#如果不只有一张图片,图片名字后面加数字
if len(pic_url)==1:
downloadurl=pic_url[0]
data = requests.get(downloadurl, headers=headers)
fp = open(downloadpath + name + '.jpg', 'wb')
fp.write(data.content)
fp.close()
else:
num = 1
for pic_u in pic_url:
downloadurl = pic_u.split('!')[0]
data = requests.get(downloadurl, headers=headers)
fp = open(downloadpath + name + '__' + num.__str__() + '.jpg', 'wb')
num += 1
fp.write(data.content)
fp.close()
4.最后写个主程序进入就行了,再把该导入的包,访问头补一下就行
if __name__=='__main__':
downloadpath='E:/spider_pictures/小归mist_20190505/'
urls=['https://www.gracg.com/p599367964217379?page={}'.format(num) for num in range(7,27)]
for url in urls:
get_infos(url)
内容总结
以上是互联网集市为您收集整理的python3.6 涂鸦王国-图片-爬虫笔记全部内容,希望文章能够帮你解决python3.6 涂鸦王国-图片-爬虫笔记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。