首页 > 代码库 > 【python】获取51cto博客的文章列表
【python】获取51cto博客的文章列表
python的正则与网页操作练习二:
import re import urllib.request #51cto urlcode=gb18030 class down51web: s_url=‘‘ s_blogid=‘‘ s_blogpages=‘‘ s_html=‘‘ s_code=‘‘ def __init__(self,url,code): self.s_url=url self.s_code=code def get_html(self): self.s_html=urllib.request.urlopen(self.s_url).read().decode(self.s_code) return self.s_html def get_page(self,r_page): if len(self.s_html) > 0: m_pages=r_page.search(self.s_html) if m_pages: self.s_blogpages=m_pages.group(1) return self.s_blogpages def get_blogid(self,r_blogid): if len(self.s_html) > 0: m_blogid=r_blogid.search(self.s_html) if m_blogid: self.s_blogid=m_blogid.group(1).split(‘/‘)[1] return self.s_blogid def get_blogpagelist(self): bloglist=[] if len(self.s_blogid)>0 and len(self.s_blogpages)>0: for i in range(1,int(self.s_blogpages)+1): bloglist.append(self.s_url+‘/‘+self.s_blogid+‘/p-‘+str(i)) return bloglist def get_pagelist(self,r_list,url): bloglist=[] self.s_url=url s_tmphtml=self.get_html() if len(s_tmphtml) > 0: bloglist=r_list.findall(s_tmphtml) return bloglist r_page=re.compile(‘页数 \( [0-9]+/([0-9]+) \)(?=</div>)‘) r_blogid=re.compile(‘(?<=<div class="pages">)<a href=http://www.mamicode.com/([^>]*)>‘)"artTitle"><a href="http://www.mamicode.com/([^"]*)">([^<]*)</a>‘) xx=‘http://hxw168.blog.51cto.com‘ hxw=down51web(xx,‘gb18030‘) hxw.get_html() #print(hxw.s_html) print(hxw.get_page(r_page)) print(hxw.get_blogid(r_blogid)) list=hxw.get_blogpagelist() for i in list: l1=hxw.get_pagelist(r_list,i) for x in l1: print(xx+x[0]+‘-------‘+x[1])
代码排版不正常
结果如下:
>>> (executing lines 1 to 74 of "downweb.py") 4 8718136 http://hxw168.blog.51cto.com/8718136/1533205-------【python】简单的网页内容获取 - 有道翻译英文 http://hxw168.blog.51cto.com/8718136/1440229-------【文本处理】awk、sed使用 - 二 http://hxw168.blog.51cto.com/8718136/1436143-------【文本处理】sed的理解工具sedsed http://hxw168.blog.51cto.com/8718136/1435310-------【文本处理】awk、sed使用 - 一 http://hxw168.blog.51cto.com/8718136/1424626-------【shell】oracle安装前环境设置 http://hxw168.blog.51cto.com/8718136/1424422-------【oracle】Oracle12c安装及一些使用问题 http://hxw168.blog.51cto.com/8718136/1419971-------【oracle】系统权限、对象权限、角色 http://hxw168.blog.51cto.com/8718136/1419736-------【oracle】模拟故障 - 参数修改导致无法启动oracle http://hxw168.blog.51cto.com/8718136/1419733-------【oracle】表空间 http://hxw168.blog.51cto.com/8718136/1419236-------【oracle】数据库启动 http://hxw168.blog.51cto.com/8718136/1410362-------【1】oracle视频 - 流水帐笔记 http://hxw168.blog.51cto.com/8718136/1410179-------【基础服务】dns智能解析、view主从服务 -.. http://hxw168.blog.51cto.com/8718136/1409219-------【基础服务】简单理解DNS的递归、迭代查询.. http://hxw168.blog.51cto.com/8718136/1408946-------【基础应用】rsync简单使用 http://hxw168.blog.51cto.com/8718136/1408462-------【6】iptables理解 - 浅尝辄止 http://hxw168.blog.51cto.com/8718136/1408295-------【5】iptables理解 - mangle表 http://hxw168.blog.51cto.com/8718136/1405101-------【4】iptables理解 - nat表 http://hxw168.blog.51cto.com/8718136/1404942-------【3】iptables理解 - filter表 http://hxw168.blog.51cto.com/8718136/1404541-------【2】iptables理解 - 总体印象 http://hxw168.blog.51cto.com/8718136/1404463-------【1】iptables理解 - 练习环境搭建 http://hxw168.blog.51cto.com/8718136/1401483-------【5】puppet笔记 - defined类型、erb模板 http://hxw168.blog.51cto.com/8718136/1397872-------【4】puppet笔记 - 第一个简单模块 http://hxw168.blog.51cto.com/8718136/1396483-------【4】puppet笔记 - 数组、类 http://hxw168.blog.51cto.com/8718136/1396308-------【3】puppet笔记 - 变量、if、case、selector http://hxw168.blog.51cto.com/8718136/1395869-------【2】puppet笔记 - package、service、use.. http://hxw168.blog.51cto.com/8718136/1395357-------【1】puppet笔记 - file资源 http://hxw168.blog.51cto.com/8718136/1395073-------【基础】yum本地源 - yum puppet-server为例 http://hxw168.blog.51cto.com/8718136/1394312-------【python】操作oracle数据库 http://hxw168.blog.51cto.com/8718136/1394303-------【基础】LVM简单使用 - 扩展缩小LV容量 http://hxw168.blog.51cto.com/8718136/1394089-------【基础】LVM简单使用 - 一 http://hxw168.blog.51cto.com/8718136/1393463-------【基础】linux添加新硬盘 http://hxw168.blog.51cto.com/8718136/1390593-------【8】nagios从零学习使用 - 编写自己的nag.. http://hxw168.blog.51cto.com/8718136/1390357-------【7】nagios从零学习使用 - nrpe插件使用 http://hxw168.blog.51cto.com/8718136/1389588-------【6】nagios从零学习使用 - centreon发送.. http://hxw168.blog.51cto.com/8718136/1388191-------【5】nagios从零学习使用 - centreon使用c.. http://hxw168.blog.51cto.com/8718136/1387516-------【4】nagios从零学习使用 - centreon安装过程 http://hxw168.blog.51cto.com/8718136/1382079-------【3】nagios从零学习使用 - 监控 win主机 http://hxw168.blog.51cto.com/8718136/1380326-------【2】nagios从零学习使用 - cacti做图 http://hxw168.blog.51cto.com/8718136/1379795-------【shell】使用ping检测机器是否不在线 http://hxw168.blog.51cto.com/8718136/1379586-------【1】nagios从零学习使用 - 软件安装 >>>
本文出自 “尽管错,让我错到死!” 博客,请务必保留此出处http://hxw168.blog.51cto.com/8718136/1533435
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。