python实现爬取百度图片的方法示例
本文实例讲述了python实现爬取百度图片的方法。分享给大家供大家参考,具体如下:
importjson importitertools importurllib importrequests importos importre importsys word=input("请输入关键字:") path="./ok" ifnotos.path.exists(path): os.mkdir(path) word=urllib.parse.quote(word) url=r"http://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&fp=result&queryWord={word}&cl=2&lm=-1&ie=utf-8&oe=utf-8&st=-1&ic=0&word={word}&face=0&istype=2nc=1&pn={pn}&rn=60" urls=(url.format(word=word,pn=x)forxinitertools.count(start=0,step=60)) index=0 str_table={ '_z2C$q':':', '_z&e3B':'.', 'AzdH3F':'/' } char_table={ 'w':'a', 'k':'b', 'v':'c', '1':'d', 'j':'e', 'u':'f', '2':'g', 'i':'h', 't':'i', '3':'j', 'h':'k', 's':'l', '4':'m', 'g':'n', '5':'o', 'r':'p', 'q':'q', '6':'r', 'f':'s', 'p':'t', '7':'u', 'e':'v', 'o':'w', '8':'1', 'd':'2', 'n':'3', '9':'4', 'c':'5', 'm':'6', '0':'7', 'b':'8', 'l':'9', 'a':'0' } i=1 char_table={ord(key):ord(value)forkey,valueinchar_table.items()} forurlinurls: html=requests.get(url,timeout=10).text a=re.compile(r'"objURL":"(.*?)"') downURL=re.findall(a,html) fortindownURL: forkey,valueinstr_table.items(): t=t.replace(key,value) t=t.translate(char_table) try: html_1=requests.get(t) ifstr(html_1.status_code)[0]=="4": print('失败1') continue exceptExceptionase: print('失败2') continue withopen(path+"/"+str(i)+".jpg",'wb')asf: f.write(html_1.content) i=i+1
更多关于Python相关内容可查看本站专题:《PythonSocket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。