C#-树视图TreeView---ShinePans

1.pyquery简介

python中的pyquery模块语法与jquery相近,可用来解析HTML文件。官方文档地址:https://pythonhosted.org/pyquery/ 。通过HTML中的标签、id、给定的索引等来获取元素,使得解析HTML文件极为方便。

2.实例

2.1 爬取豆瓣电影页面中主演

右键chrome中的审查元素,观察到主演的标签为<a href="/celebrity/1005773/" rel="v:starring">

为找出主演,需要把带有rel="v:starring"的所有a标签找出来

# -*- coding: utf-8 -*-
from pyquery import PyQuery as pq

#读取Batman Begins页面
doc = pq(url="http://movie.douban.com/subject/1309069/")

#遍历starring节点
starring = doc("a[rel=‘v:starring‘]").map(lambda i,e:pq(e).text())

#打印
print "<<"+doc("span[property=‘v:itemreviewed‘]").text()+u">>的主演\n"
for i in starring:
      print i.encode(‘utf-8‘)

得到结果

2.2 百度贴吧爬虫

爬虫功能:将楼主的所发内容保存在本地txt文件中。

分析页面地址:只看楼主页面是贴子地址后加“?see_lz=1”,到第二页时,页面再加上“&pn=2”。分析页面元素:楼主所发内容正则表达式为id="post_content.*?>(.*?)

纯python版的百度贴吧爬虫(参看这里

# -*- coding: utf-8 -*-
#--------------------------------
#   program: 百度贴吧爬虫
#   date: 2014.4.29
#--------------------------------

from pyquery import PyQuery as pq
import urllib2
import re

class tiebaSpider:
    def __init__(self,link):
        #只看楼主页面
        self.url = link+‘?see_lz=1‘
        #读取页面
        self.raw_html = urllib2.urlopen(self.url).read().decode(‘gbk‘)
        #获得贴子标题
        self.title = re.findall(‘<h1.*?>(.*?)</h1>‘,self.raw_html)[0]
        #总共页数
        self.total_pages = int(re.findall(r‘class="red">(\d+?)<‘,self.raw_html)[0])
        self.contents = []

    def get_contents(self):
        """获取所有页面的内容"""

        page = self.url+‘&pn=‘
        for i in range(1,self.total_pages+1):
            #爬取每个页面
            print u‘正在爬取第%d页内容...‘ %i
            raw_page = urllib2.urlopen(page+str(i)).read().decode(‘gbk‘)
            raw_contents = re.findall(‘id="post_content.*?>(.*?)</div>‘,raw_page)
            #处理页面,获得楼主的post cotent
            dealed_contents=pq(raw_contents).map(lambda i,e:pq(e).text())

            for content in dealed_contents:
                content = (content+‘\n\n‘).encode(‘utf-8‘) #忘加encode,调试了许久
                self.contents.append(content)

    def save_contents(self):
        """保存content,写入txt文件中"""

        self.get_contents()
        f = open(self.title+‘.txt‘,‘w+‘)
        f.writelines(self.contents)
        f.close()

def main():
    print u"请输入百度贴吧贴子链接"
    link = str(raw_input())
    spider = tiebaSpider(link)
    spider.save_contents()

if __name__ == "__main__":
    main()

C#-树视图TreeView---ShinePans,码迷,mamicode.com

时间: 2024-10-07 08:40:35

C#-树视图TreeView---ShinePans的相关文章

C#-树视图的实现以及TreeView属性---ShinePans

树视图TreeView 属性及方法 属性 说明 Nodes 获取分配给树视图控件的树节点集合 PathSeparator 获取或设置树节点路径所使用的分隔符串 SelesctedNode 获取或设置当树节点选定时所使用的图像列表索引值 ShowNodeToolTips 获取或设置一个值,用以指示树图中的树节点是否经过排序 VisibleCount 获取树视图控件黄总完全可见的树节点数目 CollapseAll 折叠所有的树节点 ExpandAll 展开所有的树节点 GetNodeAt 检索位于指

SharePoint 树视图自定义

树视图是提供的列表. 库和当前网站的子网站的分层视图的导航选项.树视图显示大多数网页的网站中,快速启动栏下方的一侧.默认情况下,禁用树视图. 如果您的网站具有复杂的层次结构,使用树视图,网站用户可以更方便地在网站层次结构中的不同内容之间(例如,当前网站中的库和子网站中的列表之间)导航.下面是树视图的一个示例. 在实际使用中,在某个文档库只想看到文档库当前的树视图,其他视图不需要该如何操作呢? 1.首先打开SharePoint Designer网站母版页,找到树视图ID为TreeViewNavig

使用UITableView实现树视图

本文的目的,是研究有没有可能在一个TableView中呈现树形数据,尤其是树形菜单.众多的网络资料都强调,Cocoa框架不支持树形视图,苹果推荐程序员使用TableViewController+NavigationController的方式展现树形菜单.如果2-3层的树形数据还可以忍受,万一层次稍多一点,必须反复的用导航按钮在视图中转来转去,显然并不太方便.何况笔者认为2-3层的导航也要切换多次视图,也是一种浪费. 一.搭建基本框架 1 二.实现树节点 2 三.实现树 3 四.实现TreeVie

SharePoint 创建站点地图树视图及格式枚举截图

SharePoint 创建站点地图树视图及格式枚举截图 SharePoint首页隐藏掉左侧导航以后,如果要以树视图呈现网站地图也很简单. 只需要复制v4.master,粘贴出v4_copy(1).master,签出,编辑.直接修改v4.master母版页是不明智的. 在PlaceHolderLeftNavBar中插入树视图.点击小三角,在选择数据源下拉列表新建数据源. 选中站点地图,指定ID为SiteMapDataSource,点击确定. F12在浏览器中预览. 回到SPD,点击树视图小三角,点

winform 公共控件

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 公共控件 { public partial class Form1 : Form { public Form1(

C#之 十九 使用WinForm控件

十九 使用Win Form控件 比如说电脑有显示器,鼠标,主机以及键盘的基本元素组成.在windows窗体中也有其基本控件,这些控件在每一个窗体中都要用到,也就是说无所不在.有些控件可能外观不同但是他们的使用方式都基本上一样. 重点 ?        掌握这些控件常用属性方法以及事件 ?        能用编码的形式实现控件的基本功能 ?        体会每个控件使用的场景 预习功课 ?        什么是控件类,控件类的基类(父类)是么?它是用来做什么的? ?        标签,按钮,文

依据数据集 进行 树 的构造(treeview & dataset) 方法一

type PDepData=^DepData; DepData = record ID: Integer; DepID: string; DepName: string; end; procedure FreeTV(tv: TTreeview); var i: Integer; begin for i := 0 to tv.Items.Count - 1 do begin dispose(tv.Items[i].Data); end; tv.Items.Clear; end; procedure

SAP CRM 树状视图(TREE VIEW)

树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view)那种专门的树视图类型.我们可以认为树视图是表视图的一种特例.没有可以用于创建树视图的向导.需要按以下特定的步骤手动改造已存在的视图. 首先,这个看起来挺难的,但是你做的次数越多,就会越容易理解它.在本文,我将创建一个如下模样的树视图. 如你所见,它有两级结构.第一级展示LEAD ID,下一级展示客户

第55课 模型视图设计模式

1. 模型视图模式 (1)模型视图设计模式的核心思想 ①模型(数据)与视图(显示)相分离 ②模型对外提供标准接口存取数据(不关心数据如何显示) ③视图自定义数据的显示方式(不关心数据如何组织存储) (2)模型视图模式的直观理解 (3)模型视图模式的工作机制 ①当数据发生改变时,模型发出信号通知视图 ②当用户与视图进行交互时,视图发出信号提供交互信息 2. Qt中的模型-视图类层次结构 (1)Qt中的模型类的层次结构 (2)Qt中的视图类的层次结构 3. 关键技术问题 (1)模型如何为数据提供统一