python处理url转码的爬虫脚本示例(只供参考)

网友投稿 258 2022-08-29


python处理url转码的爬虫脚本示例(只供参考)

recAlbumSp.py

#coding=utf8#---------------------------------------# 作者:ewang# 日期:2017-10-28# 语言:Python 2.7#---------------------------------------import urllib2import reimport urllibimport sysreload(sys)sys.setdefaultencoding("utf-8")class XMLY_Spider: #申明相关属性 def __init__(self,requestPara): self.requestPara=requestPara valueData={} #对输入的参数进行urlencode转换 valueData['dbgParams']='recid=105&uid=0&album='+self.requestPara self.data=urllib.urlencode(valueData) #给DeviceRankUrl设置文件名 self.xmlyUrl='+self.data #用来保存推荐专辑信息 self.Rec_Album=[] print u'爬虫,爬爬...' #初始化加载页面并将其转码存储 def rec_Album(self): #获取页面标题 dbgParams=self.find_title(self.requestPara) print u'dbgParams:'+dbgParams #获取页面中文本信息 self.save_infor(dbgParams) #查找专辑名称 def find_title(self,requestPara): return requestPara #保存页面信息 def save_infor(self,title): #加载页面文本信息到数组中 self.get_infor() try: #创建并打开本地文件 filename="C:\\Users\\Desktop\\Rec\\"+title+".csv" f=open(filename,'wb+') except WindowsError: pass #把获取的页面信息写入文件中 f.writelines(self.Rec_Album) #关闭打开的文件 f.close() #print u'爬虫报告:文件'+title+'.csv'+u'已经下载:'+os.getcwd() print u'按任意键退出...' #获取页面源码并将其存储到数组中 def get_infor(self): #获取页面中的源码 page=urllib2.urlopen(self.xmlyUrl).read() #获取页面中声音ID、声音名、声音创建时间、声音播放次数的信息 self.deal_XMLY(page) def deal_XMLY(self,page): try: #获取推荐专辑信信息(URL,与专辑ID)元组 AlbumInfo=re.findall(r'\(.*?)<\/a\>',page,re.S) for index,item in zip(range(1,len(AlbumInfo)+1),AlbumInfo): albumId=re.findall(r'(\d+)?',item[1],re.S)[0] albumName=u"%s" %(item[1][len(albumId):]) recAlbumUrl=item[0] self.Rec_Album.append(str(index)+",") self.Rec_Album.append(albumId+",") self.Rec_Album.append(albumName.decode("utf8")+",") self.Rec_Album.append(recAlbumUrl) self.Rec_Album.append("\n") except Exception,e: print e#------------程序入口处----------------print u"""#---------------------------------------# 作者:ewang# 日期:2017-11-07# 语言:Python 2.7#--------------------------------------------------""" #print u"输入专辑ID(7883976)或文件目录:"#searchData =raw_input()#XMLY_Spider(line).rec_Album()filename="C:\\Users\\Desktop\\Rec\\searchAlbumId.txt"f=open(filename,'rb+')redaData=f.readlines()for line in redaData: line=line.rstrip('\r\n') XMLY_Spider(line).rec_Album()print "All Success..."

运行截图:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python操作EXCEL的操作实例源码(读数据、写数据)
下一篇:关于Spring中一级缓存、二级缓存和三级缓存的那些事
相关文章

 发表评论

暂时没有评论,来抢沙发吧~