设为首页 收藏本站
查看: 698|回复: 0

[经验分享] 程序 python 抓取新浪读书频道小说

[复制链接]

尚未签到

发表于 2017-5-3 06:07:52 | 显示全部楼层 |阅读模式
版权声明
请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。

  二进制文件下载地址:
  SinaGetBook
  效果如图:

  代码:
  #!/usr/bin/env python#coding=utf-8#!/usr/bin/env python#coding=utf-8import tracebackimport sysimport wximport reimport urllibimport wx.richtext as rtimport wx.lib.buttonpanel as bpimport Casingimport Debugdef trace_back():   try:   return traceback.print_exc()   except:   return ''class Window(wx.Frame):def __init__(self):sys.setdefaultencoding("utf-8")wx.Frame.__init__(self,None,-1,u'新浪网图书频道抓取工具',pos=wx.Point(0, 0),size=(800,620))l1 = wx.StaticText(self, -1, u"目录URL:")self.t1 = wx.TextCtrl(self, -1, "http://vip.book.sina.com.cn/book/?book=27633", size=(500, -1))l2 = wx.StaticText(self, -1, u"内容URL前缀:")self.t2 = wx.TextCtrl(self, -1, "http://vip.book.sina.com.cn/book/", size=(500, -1))l3 = wx.StaticText(self, -1, u"替换的内容:")self.t3 = wx.TextCtrl(self, -1,u"阅读‘刘猛’的其他作品: \n"u"http://vip.book.sina.com.cn/book/?book=39011《狼牙》作者新作:冰是睡着的水\n"u"http://vip.book.sina.com.cn/book/?book=41217刘猛展示狙击手神秘生活:刺客\n"u"http://vip.book.sina.com.cn/book/?book=38884中国特种部队生存实录:狼牙\n"u"http://vip.book.sina.com.cn/book/?book=43226刘猛最新力作:如临大敌",size=(500, 100), style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER)self.t3.SetInsertionPoint(0)l4 = wx.StaticText(self, -1, u"内容")#self.t4 = wx.TextCtrl(self, -1,"",#               size=(600, 400), style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER)self.t4 = rt.RichTextCtrl(self,-1,"",size=(600, 400), style=wx.VSCROLL|wx.HSCROLL|wx.NO_BORDER);#self.t4.SetInsertionPoint(0)self.b = wx.Button(self, -1, u"开始抓取")self.Bind(wx.EVT_BUTTON, self.OnTestReplace, self.b)space = 2bsizer = wx.BoxSizer(wx.VERTICAL)bsizer.Add(self.b, 0, wx.GROW|wx.ALL, space)sizer = wx.FlexGridSizer(cols=3, hgap=space, vgap=space)sizer.AddMany([ l1, self.t1, (0,0),l2, self.t2, (0,0),l3, self.t3, bsizer,l4, self.t4, (0,0),])border = wx.BoxSizer(wx.VERTICAL)border.Add(sizer, 0, wx.ALL, 15)self.SetSizer(border)self.SetAutoLayout(True)self.Show(True)def OnTestReplace(self, evt):#dlg = wx.MessageDialog(None, u'Data file is not exist,please download it!',u'Error',wx.OK | wx.ICON_INFORMATION)#dlg.ShowModal()#dlg.Destroy()listurl = self.t1.GetValue()prefix = self.t2.GetValue()#print prefixreplace = self.t3.GetValue()#print replace.decode("utf-8").encode("GBK")rep = replace.split("\n")def f():try:sock = urllib.urlopen(listurl)   strhtml = sock.read()   strhtml = unicode(strhtml, 'gb2312','ignore').encode('utf-8','ignore')   strhtml =strhtml.lower()list = re.findall('''<a href="(chapter_+.*?)" target="_blank">''', strhtml) for one in list:try:sock1 = urllib.urlopen(prefix+one) htmlcontent = sock1.read() htmlcontent = unicode(htmlcontent, 'gb2312','ignore').encode('utf-8','ignore') title = re.findall('''<h1>(.*?)</h1>''', htmlcontent)[0] s_content = re.findall('''<div id="contTxt" class="contTxt1"><p>([\s\S]*?)</p></div>''', htmlcontent)[0]s_content = s_content.replace("<p>","")s_content = s_content.replace("</p>","")s_content = s_content.replace("*","")for reps in rep:s_content = s_content.replace(reps.decode("utf-8"),"")#print title.decode("utf-8").encode("GBK")#print s_content.decode("utf-8").encode("GBK")self.b.SetLabel(u"test")self.t4.AppendText(title.decode("utf-8").encode("GBK")+"\n")self.t4.AppendText(s_content.decode("utf-8").encode("GBK"))except:Debug.error.traceback()continue;except:Debug.error.traceback()d = Casing.Casing(f)d.start_thread()application = wx.PySimpleApp()Window()application.MainLoop()

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-372222-1-1.html 上篇帖子: 对前一次python统计的优化 下篇帖子: 关于python和rabbitmq的那点事儿
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表