网站
https://qqtang.qq.com/web2008/page/story.htm
网站上有很多人物 介绍, 包括行走图
人物介绍页面
这个页面有独立的网址,格式如下
https://qqtang.qq.com/web2008/info/hy.htm
https://qqtang.qq.com/web2008/info 是前缀共同部分
hy.htm是火影hy+ htm 网页后缀
gif
页面上有3个gif ,有3个方向, 把左边行走图翻转一下就是右边
python 请求数据并下载
python的 requests 库可以发送get 请求, get请求可以获得静态页面数据
import requests
content = requests.get(url)
print(content.text)
以上代码拿到所有的静态网页text
下载gif的话,fileName是文件名
import requests
content = requests.get(gif_url)
with open(fileName,'wb') as writer:
writer.write(content.content)
全部代码
import requests
url = 'https://qqtang.qq.com/web2008/page/story.htm'
content = requests.get(url)
urls = []# 所有的 网址 , 人物网址
for ix , c in enumerate(content.text):
if '/web2008/info/' in content.text[ix:ix+len('/web2008/info/')] :
print(content.text[ix:ix+30])
urls.append(content.text[ix:ix+30].split('\"')[0])
print(urls)
import pandas as pd
datas = []
for url in urls:
# 每一个页面
full = 'https://qqtang.qq.com{}'.format(url)
rsp =requests.get(full )
rsp.encoding = 'gbk'
content = rsp.text
if "<div class=\"ny_strpic\">" not in content:
print('continue',full)
continue
#<font class="ny_txtart">毛毛:</font>
name = content[content.index('ny_txtart">')+len('ny_txtart">'):content.index('</font>')]
print(name)
content2 = content[content.index("<div class=\"ny_strpic\">"):]
content2 = content2[:content2.index('</div>')]
print('-----')
print(content2)
# 拿出gifs
gifs = []
for text in content2.split('<img src="'):
if 'http' in text:
gif_url = text[text.index('http'):text.index('gif')+3]
gifs.append(gif_url)
print('gifs',gifs)
for gif_url in gifs:
datas.append((name[:-1],gif_url))
for g in gifs:
content = requests.get(g)
with open('gif/'+name[:-1]+g.split('/')[-1], 'wb') as wr:
wr.write(content.content)
df = pd.DataFrame(datas,columns=['人物','下载地址'])
df.to_excel('all_player.xlsx')
df.to_csv('all_player.csv')