18382747915 发表于 2018-9-9 22:38

搜索你想要的图片,并爬取

本帖最后由 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:39

本帖最后由 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中的函数名相同的话你就杯具了

18382747915 发表于 2018-9-10 10:48

麦米尔加弗德 发表于 2018-9-10 01:17
用了requests库为什么还要用urllib,代码好简单,函数名用拼音......,至少加个多进程啊,加油学习吧

哦哦,以后多加注意

沐雨红尘 发表于 2018-9-9 22:51

A羽飞 发表于 2018-9-9 22:59

这个厉害了

18382747915 发表于 2018-9-9 23:00

佐佑 发表于 2018-9-9 22:58
好深奥的操作,感谢楼主分享

其实挺简单的,我也才学三天,一步一步来

18382747915 发表于 2018-9-9 23:09

沐雨红尘 发表于 2018-9-9 22:51
大佬这是python代码吗?有这么多代码就够了吗?config不要了吗

嗯嗯,不需要

2205 发表于 2018-9-9 23:35

3天?楼主应该是程序员尝鲜。。

kk1212 发表于 2018-9-9 23:41

不错啊,Python真是作用大

JokerX 发表于 2018-9-10 00:00

建议用英文命名 别用中文 不懂的英文查阅后用

aaa288794 发表于 2018-9-10 00:09

感觉就像隔空取物的Idear.

麦米尔加弗德 发表于 2018-9-10 01:17

用了requests库为什么还要用urllib,代码好简单,函数名用拼音......,至少加个多进程啊,加油学习吧
页: [1] 2
查看完整版本: 搜索你想要的图片,并爬取