斗图神器——python让你斗图无敌
本帖最后由 18382747915 于 2019-4-17 16:04 编辑你还在为斗图输了而懊恼嘛,你还在为找图到处瞎J8乱跑吗,python爬虫来啦!
今天为了跟别人斗图随便写的,哈哈,勿喷
from os import mkdir
import requests,re
session=requests.session()
def bqb(title):
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:62.0) Gecko/20100101 Firefox/62.0',
'Host': 'www.fabiaoqing.com'
}
url="https://www.fabiaoqing.com/"
session.get(url=url,headers=header)
url="https://www.fabiaoqing.com/search/search/keyword/%s"%title
req= session.get(url=url,headers=header)
key=re.findall('<a class="item" href="/search/search/keyword/(.*?)/type/bq/page/(.*?).html">',req.text,re.S)
html = re.findall('<a class="item" href="/search/search/keyword/%s/type/bq/page/(.*?).html">'%key, req.text, re.S)
b = {}
c = b.fromkeys(html)
liststr=list(c.keys())
liststr.append("1")
mkpath = "F:/%s/"%title
# 调用函数
try:
mkdir(mkpath)
except:
print("文件夹已存在")
count =0
for i in liststr:
url="https://www.fabiaoqing.com/search/search/keyword/%s/type/bq/page/%s.html"%(key,i)
req=session.get(url=url, headers=header)
html=req.text
html_img=re.findall('<img class="ui image bqppsearch lazy" data-original="(.*?)" title="(.*?)"',html,re.S)
html_img_link=html_img
for x in html_img_link:
count = count + 1;
print("正在下载第%s张"%count)
title=x+str(count)
imgurl=x
a = requests.get(imgurl).content
try:
with open('{}{}.jpg'.format(mkpath,title), 'wb')as wj:
wj.write(a)
except:
print()
print("下载成功")
if __name__=="__main__":
title=input("请输入表情包名称:")
bqb(title)
什么舟来着 发表于 2020-2-3 15:18
大神们为什么用你们的代码复制进去都无法运行啊
环境问题 如有问题 看我呢称 Traceback (most recent call last):
File "d:/pycode/test.py", line 46, in <module>
bqb(title)
File "d:/pycode/test.py", line 13, in bqb
key=re.findall('<a class="item" href="/search/search/keyword/(.*?)/type/bq/page/(.*?).html">',req.text,re.S)
IndexError: list index out of range
我是出现这个报错了,这个bqb的变量怎么会溢出呢 这是下载到本地的吗 秀啊。。。 感谢楼主分享,支持一下! 对有些人很有用,,, 楼主这是什么编辑器 那么问题来了 他保存在了哪里。。。 YeMelody 发表于 2019-4-21 10:52
那么问题来了 他保存在了哪里。。。
F盘 文件夹名是你的搜索名 这个怎么搞啊?