欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用python制作表情包,领略scrapy框架的魅力!

程序员文章站 2022-07-26 15:51:16
先上图: scrapy框架爬取某表情网站表情图【源码+GIF表情包下载】 python源代码 import scrapy import os,sys import requests import re class scrapyone(scrapy.Spider): name = "stackone" ......

先上图:

用python制作表情包,领略scrapy框架的魅力!

scrapy框架爬取某表情网站表情图【源码+GIF表情包下载】

python源代码

用python制作表情包,领略scrapy框架的魅力!

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制作表情包,领略scrapy框架的魅力!

用python制作表情包,领略scrapy框架的魅力!