搜索你想要的图片,并爬取
本帖最后由 18382747915 于 2018-9-9 22:48 编辑小白发帖,代码有什么改正的地方,希望大家多多指教
功能:输入图片名字,然后会自动保存到本地:
代码如下:
from urllib import request,response
import re,requests,urllib
from xpinyin import Pinyin
def she():
n=0
num=1
pin = Pinyin()
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:62.0) Gecko/20100101 Firefox/62.0'}
shuru=input("请输入要搜索的图片:")
shuru = pin.get_pinyin(shuru, "")
date=urllib.request.Request('http://699pic.com/sousuo-%s-0-1-0-0-0.html'%shu(shuru),headers=header)
date=urllib.request.urlopen(date)
html=date.read().decode("utf-8")
img=re.findall(' <img alt="(.*?)" title="(.*?)" class="lazy" src="(.*?)" data-original="(.*?)"width="(.*?)" height="(.*?)" />',html,re.S)
for i,l in enumerate(img):
n=n+1
url=img[3]
name=img[1]
url=requests.get(url).content
with open("E:\\img\\{}.jpg".format(name),'wb')as wj:
wj.write(url)
print("成功下载%s张图片" % n)
def shu(sousuo):
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:62.0) Gecko/20100101 Firefox/62.0'}
date = urllib.request.Request('http://699pic.com/tupian/%s.html'%sousuo, headers=header)
date = urllib.request.urlopen(date)
html = date.read().decode("utf-8")
img = re.findall('</div><a rel=\'nofollow\' href=\'/sousuo-(.*?)-0-2-0-0-0.html\' class=downPage>下一页</a> </div>',html, re.S)
return img[0]
if __name__ == '__main__':
she() 本帖最后由 ebookread 于 2018-9-10 07:41 编辑
from urllib import request,response 可以直接改成 import request,response
反正你都带空间名了
date=urllib.request.Request('http://699pic.com/sousuo-%s-0-1-0-0-0.html'%shu(shuru),headers=header)
date=urllib.request.urlopen(date)
而且这么用不小心你的函数名与urllib中的函数名相同的话你就杯具了 麦米尔加弗德 发表于 2018-9-10 01:17
用了requests库为什么还要用urllib,代码好简单,函数名用拼音......,至少加个多进程啊,加油学习吧
哦哦,以后多加注意 这个厉害了 佐佑 发表于 2018-9-9 22:58
好深奥的操作,感谢楼主分享
其实挺简单的,我也才学三天,一步一步来 沐雨红尘 发表于 2018-9-9 22:51
大佬这是python代码吗?有这么多代码就够了吗?config不要了吗
嗯嗯,不需要 3天?楼主应该是程序员尝鲜。。 不错啊,Python真是作用大 建议用英文命名 别用中文 不懂的英文查阅后用 感觉就像隔空取物的Idear. 用了requests库为什么还要用urllib,代码好简单,函数名用拼音......,至少加个多进程啊,加油学习吧
页:
[1]
2