用python制作表情包,领略scrapy框架的魅力!
Posted xinshiye
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用python制作表情包,领略scrapy框架的魅力!相关的知识,希望对你有一定的参考价值。
先上图:
scrapy框架爬取某表情网站表情图【源码+GIF表情包下载】
python源代码
import scrapy
import os,sys
import requests
import re
class scrapyone(scrapy.Spider):
name = "stackone"
start_urls = ["http://qq.yh31.com/ql/bd/"]
def parse(self,response):
hrf=response.xpath(‘//*[@id="main_bblm"]/div[2]/dl/dd/li‘)
for li in hrf:
item={}
href=li.xpath(‘a/@href‘).extract()
hreftext=li.xpath(‘a/text()‘).extract()
full_url = ‘http://qq.yh31.com‘+ ‘‘.join(list(href))
hreftext=‘‘.join(list(hreftext))
#文件夹名称
if hreftext==‘>更多>‘:
continue
path = ‘C:\GIF‘
if not os.path.exists(path):
os.makedirs(path)
item[‘dirname‘]=hreftext
yield scrapy.Request(url=full_url,meta={‘key‘:item},callback = self.parse1)
def parse1(self,response):
ite={}
full_url=[]
url1 = response.xpath(‘//*[@id="pe100_page_infolist"]/a[2]/@href‘).extract()
url2 = response.xpath(‘//*[@id="pe100_page_infolist"]/a[2]/@href‘).re(‘\d+‘)
url1 = ‘‘.join(url1)
url1 = url1.split(‘_‘)
url2 = ‘‘.join(url2)
ite[‘dirn‘]=response.meta[‘key‘][‘dirname‘]
for i in range(1,int(url2)+1):
full_url=‘http://qq.yh31.com‘+url1[0]+‘_‘+str(i)+‘.html‘
#print(full_url)
yield scrapy.Request(url=full_url,meta={‘key1‘:ite},callback = self.parse2)
def parse2(self,response):
p1=response.meta[‘key1‘][‘dirn‘]
resp = response.xpath(‘//*[@id="main_bblm"]/div[1]/li/dt/a‘)
path = ‘C:\GIF\\‘+‘‘.join(p1)
if not os.path.exists(path):
os.makedirs(path)
for lst in resp:
alt = lst.xpath(‘img/@alt‘).extract()
src = lst.xpath(‘img/@src‘).extract()
src = ‘http://qq.yh31.com‘+ ‘‘.join(list(src))
alt = ‘‘.join(list(alt))
html=requests.get(src)
with open(path+‘\\‘+alt+‘.gif‘, ‘wb‘) as file:
file.write(html.content)
脚本执行方式:cmd-->切换到脚本所在目录-->scrapy runspider xxxx.py
执行后会自动根据GIF分类在c:\gif文件夹下建立相应文件夹存储gif图片
以上是关于用python制作表情包,领略scrapy框架的魅力!的主要内容,如果未能解决你的问题,请参考以下文章
制作表情包Python拆分和合并GIF动态图(几行代码就搞定)