c#学习笔记(1)

Python爬虫(3)抓取网页所需数据并保存到Excel文件中 公布所有抓取网页所需信息 上次我们已经成功获取了单个页面的所有电影的名字,其余的电影信息也如法炮制,上代码先: 1) 添加可以获取其他信息的正则,如下黄色区域显示的部分: 2) 然后在获取的代码中按获取电影名称一样来添加相应的代码: 在写完上面的代码之后,可以再进行一次调试,确保所获得的信息都是自己想要的,并且不存在逻辑错误。 通过获得的每部电影的信息存入到了列表data,然后再通过dataList.append(data)将一部电影的信息列表存到了dataList这个电影集列表里。 . 阅读详情
C#学习笔记
1, 结构(struct) 与 类(class)
[attributes] [modifiers] struct identifier [:interfaces] body [;]
结构与类很相似,都表示可以包含数据成员和函数成员的数据结构。与类不同的是,结构是值类型并且不需要堆分配。结构类型的变量直接包含结构的数据,而类类型的变量包含对数据的引用(该变量称为对象)。 struct 类型适合表示如点、矩形和颜色这样的轻量对象。尽管可能将一个点表示为类,但结构在某些方案中更有效。在一些情况下,结构的成本较低。例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。结构可以声明构造函数,但它们必须带参数。声明结构的默认(无参数)构造函数是错误的。总是提供默认构造函数以将结构成员初始化为它们的默认值。在结构中初始化实例字段是错误的。在类中,必须初始化实例对象. 使用 new 运算符创建结构对象时,将创建该结构对象,并且调用适当的构造函数。与类不同的是,结构的实例化可以不使用 new 运算符。如果不使用 new,那么在初始化所有字段之前,字段将保持未赋值状态且对象不可用。对于结构,不像类那样存在继承。一个结构不能从另一个结构或类继承,而且不能作为一个类的基。但是,结构从基类 Object 继承。结构可实现接口,其方式同类完全一样。
[c++] 与 C++ 不同,无法使用 struct 关键字声明类。在 C# 中,类与结构在语义上是不同的。结构是值类型,而类是引用类型。
2, 装箱和拆箱(取消装箱)
装箱是值类型到 object 类型或到该值类型所实现的任何接口类型的隐式转换。将一个值的值装箱会分配一个对象实例并将该值复制到新的对象中。关键字 object. 取消装箱是从 object 类型到值类型或从接口类型到实现该接口的值类型的显式转换。取消装箱操作包括:检查对象实例,确保它是给定值类型的一个装箱值。将该值从实例复制到值类型变量中。
例:
int i = 123; // A value type
object box = i; // Boxing
int j = (int)box; // Unboxing

装箱转换
取消装箱
3 , 隐式和显式
下列转换属于隐式转换:例:object o=i;
标识转换。
隐式数值转换。
隐式枚举转换。
隐式引用转换。
装箱转换。
隐式常数表达式转换。
用户定义的隐式转换。
下列转换属于显式转换: object 0=(object)i;
所有隐式转换。
显式数值转换。
显式枚举转换。
显式引用转换。
显式接口转换。
取消装箱转换。
用户定义的显式转换
4, delegate(委托)
delegate void D(int x);
class C{
public static void M1(int i) { /* ... */ }
public static void M2(int i) { /* ... */ }}
class{…….D cd1 = new D(C.M1);………….}
委托是一个数据结构,该数据结构引用一个静态方法,或引用一个对象实例和该对象的实例方法。在 C 或 C++ 中与委托最接近的是函数指针,但函数指针只能引用静态函数,而委托可以同时引用静态方法和实例方法。在后一种情况中,委托不仅存储对方法入口点的引用,还存储对调用其方法的对象的引用。与 C++ 函数指针不同,委托是完全面对对象的;与指向成员函数的 C++ 指针不同,委托同时封装对象实例和方法。委托声明定义从类 System.Delegate 派生的类。委托实例封装一个或多个方法,每个方法都被称为可调用实体。对于实例方法,可调用实体由一个实例和该实例上的方法组成。对于静态方法,可调用实体仅由一个方法组成。给定委托实例和适当的参数集,便可以用该参数集调用此委托实例的所有方法。委托实例的一个有趣和有用的属性是它不了解或不关心它所封装的方法的类;真正重要的只是方法要与委托的类型兼容, 这使委托非常适合“匿名”调用。可选的形参表指定委托的参数,而返回类型则指示委托的返回类型。如果下面两个条件都为真,则方法和委托类型是兼容的:(兼容的概念就是可以用此声明的委托对方法进行委托).
1它们具有相同的参数数目,并且类型相同,顺序相同,参数修饰符也相同。
2它们的返回类型相同。
C# 中的委托类型是名称等效的,而不是结构等效的。(但是请注意:两个不同但结构上等效的委托类型的实例可能会比较为相等),准确地说,两个具有相同参数列表、签名和返回类型的不同的委托类型被认为是不同的委托类型。委托实例所封装的方法集合称为调用列表。
5, interface(接口)
[attributes] [modifiers] interface identifier [:base-list] {interface-body}[;]
一个接口定义一个协定。实现接口的类或结构必须遵守其协定。接口可以从多个基接口继承,而类或结构可以实现多个接口。接口可以包含方法、属性、事件和索引器。接口本身不提供它所定义的成员的实现。接口只指定实现该接口的类或接口必须提供的成员。接口可以是命名空间或类的成员,并且可以包含下列成员的签名:方法属性 索引器.
一个接口可从一个或多个基接口继承。接口可由类实现。实现的接口的标识符出现在类的基列表中。被继承的接口称为该接口的显式基接口。当接口具有一个或多个显式基接口时,在该接口声明中,接口标识符后跟一个冒号以及由逗号分隔的基接口标识符列表。接口的基接口是显式基接口及其基接口。换言之,基接口集是显式基接口、它们的显式基接口(依此类推)的完全可传递的闭包。接口继承其基接口的所有成员。接口成员是通过 I.M 和 I[A] 形式的成员访问和索引访问表达式访问的,其中 I 是接口类型的实例,M 是该接口类型的方法、属性或事件,A 是索引器参数列表。接口可以由类和结构实现。为了指示类或结构实现接口,在该类或结构的基类列表中包含了接口标识符。在实现类或结构中定位接口成员的实现的过程称为接口映射。
6,object
object 类类型是所有其他类型的最终基类。C# 中的每种类型都是直接或间接从 object 类类型派生的。可以把任何类型的数值给object类型.
7,string类型
string 类的实例表示 Unicode 字符串。尽管 string 是引用类型,但相等运算符(== 和 !=)被定义为比较 string 对象(而不是引用)的“值”(7.9.7 字符串相等运算符)。这使得对字符串相等性的测试更为直观。字符串为 string 类型并可写成两种形式,即用引号引起来和用 @ 引起来。用引号引起来的字符串括在双引号 (") 内, 并且可以包含包括换码序列在内的任何字符用 @ 引起来的字符串以 @ 开头,并用双引号引起来。用 @ 引起来的字符串以 @ 开头,并用双引号引起来。若要在一个用 @ 引起来的字符串中包括一个双引号,请使用两对双引号:@ 符号的另一种用法是使用碰巧成为 C# 关键字的被引用的 (/reference) 标识符。
8, 修饰符
修饰符作用
访问修饰符
public
private
internal
protected
指定声明的类型和类型成员的可访问性。

访问不受限制
只有包含该类的成员的类可以访问
只有当前工程可以访问
只有包含该成员的类和继承的类可以访问
abstract指示某个类只能是其他类的基类。
const指定无法修改字段或局部变量的值。
event声明一个事件。
extern指示外部实现此方法。
override提供从基类继承的虚拟成员的新实现。
readonly声明一个字段,该字段只能赋值为该声明的一部分或者在同一类的构造函数中。
sealed指定类不能被继承。
static声明属于类型本身而不是属于特定对象的成员。
unsafe声明不安全的上下文。
virtual在派生类中声明其实现可由重写成员更改的方法或访问器。
volatile指示字段可由操作系统、硬件或并发执行的线程等在程序中进行修改。

9,语句
语句是程序指令。除非特别说明,语句都按顺序执行。C# 具有下列类别的语句。
类别C# 关键字
选择语句if, else, switch, case
迭代语句do, for, foreach, in, while
跳转语句break, continue, default, goto, return
异常处理语句throw, try-catch, try-finally
Checked 和 Uncheckedchecked, unchecked
fixed 语句Fixed
lock 语句Lock

(1) foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。此语句的形式如下:
foreach (type identifier in expression) statement
若要循环访问集合,集合必须满足特定的要求。集合类型:
必须是 interface、class 或 struct。
必须包括返回类型的名为 GetEnumerator 的实例方法,例如 Enumerator(详见下文)。
Enumerator 类型(类或结构)必须包含:
一个名为 Current 的属性,它返回 ItemType 或者可以转换为此类型的类型。属性访问器返回集合的当前元素。
· 一个名为 MoveNext 的 bool 方法,它递增项计数器并在集合中存在更多项时返回 true。
有三种使用集合的方法:
使用上述指导创建一个集合。此集合只能用于 C# 程序。
1. 使用上述指导创建一个一般集合,另外实现 IEnumerable 接口。此集合可用于其他语言(如 Visual Basic)。
2. 在集合类中使用一个预定义的集合。
(2) throw 语句用于发出在程序执行期间出现反常情况(异常)的信号。throw 语句的形式为:
throw [expression];
expression :异常对象。当在 catch 子句中再次引发当前异常对象时,它被省略。
(3)try –catch语句
try-catch 语句由一个 try 块和其后所跟的一个或多个 catch 子句(为不同的异常指定处理程序)构成。try-catch 语句采用下列形式之一:
try try-block
catch (exception-declaration-1) catch-block-1
catch (exception-declaration-2) catch-block-2
...
try try-block catch catch-block
(4) fixed
防止变量被垃圾回收器重定位。
(5) lock
lock 关键字将某个语句块标记为临界区。
6. 方法参数
如果为没有 ref 或 out 的方法声明一个参数,则此参数可以具有关联的值。可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值。通过使用方法参数关键字,可以更改这种行为。如果没有ref,out则默认为值传递,虽然可以在方法中修改这个参数的值,但是修改后的值不会还会到调用该方法的程序中.
params :params 关键字可以指定在参数数目可变处采用参数的方法参数
ref :引用传递
out :
7, namespace(名字空间)
vba HTML保存为Excel,VBA实现网页上的文件"另存为”(需要调用窗口) 想要下载网页的 CSV文件 ,因为需要打开网页后,点击“SAVE AS EXCEL”的链接,出现“下载文件”的窗口,点击“保存”,出现“另存为”的窗口,修改文件的保存名称,点击保存。才算完成。在这里最重要的问题是:color=DarkRed]无法得到下载CSV文件的具体地址,只能通过点击链接--点击保存--另存为来完成为了用VBA实现这一系列的功能,而且避免需要手动使用鼠标或者键盘进行保存操作... 阅读详情

相关推荐

从网页表格到Excel文件的导出技术教程

本文还有配套的精品资源,点击获取 简介:网页表格数据转换为Excel文件是数据处理的常规需求。本教程将详细讲解涉及的多个技术环节,包括网页表格结构的理解、数据抓取、HTML解析以及格式转换等。重点在于使用JavaScript和相关库(如 xlsx )来获取和转换数据,并确保最终用户能成功下载生成的Excel文件。教程中还将提及兼容性、样式保留和用户隐私的注意事...

weixin_42600407的博客 2536

java视频种子(超多30G)

全是学习的视频,2010传智播客struts2.1.8视频教程,张孝祥Java基础加强,还有面试题

JAV LED32HD320 LAD.MV59S.B MT3151A04-1-XC-9 7J.rar

JAV LED32HD320 LAD.MV59S.B MT3151A04-1-XC-9 7J JAV LED32HD320 LAD.MV59S.B MT3151A04-1-XC-9 7J

covid19:兵库県新型コロナウイルスまとめサイト兵库COVID-19概要网站

兵库県新型コロナウイルスまとめサイト 贡献の仕方 コミュニケーションについて Slackでディスカッションを行っております。 からごイト制作にご协力顶ける方であれば谁でも参加可能です。 からご参加下さい。 ニケーションにあたっては,日本代码のもご确认ください。 行动原则 を御覧ください。 东京都オリジナルから派生した他のサイト を御覧ください。 开発者向け情报 イト制作・开発に关する详细はをご确认下さい。开発をお手伝いいただける方は,を御覧ください。 CONTRIBUTORS.mdにつの追加について はご协力いただいた皆様を绍介するためのファイルです。 はもちろんイト制作に关わったエンわったエニジニナーナ,制作には关わらないけど贡献していただいた方々もご绍介できればと思ってます。何かしらの贡献を行った方はぜひ追记をお愿いします。 追加をご希望の场合はPull Requestを送っていただくか,このにコメントをお愿いします。 ライセンス 本ソフトウェアは, の元提供されています。

iPad 3」はフロントに「Face Time HD」カメラを採用し3月発売か紹介

iPad 3」はフロントに「Face Time HD」カメラを採用し3月発売か紹介 9 to 5 Macによると、独自のApple情報網を持っているiLoungeのJeremy Horwitz氏が次期iPadに関する情報をツィートしているそうです。その情報をまとめると、次期iPadはカメラの性能が向上し、フロントカメラはFace Time HDカメラになり、バックカメラはiPhone ...

weixin_30773135的博客 11万+

java h d,Java, {Country} Hướng dẫn du lịch | Những việc nên làm tại Java, {Country} | Jetstar | Jets...

Là một trong những đảo nhỏ nhất của Indonesia nhưng cũng như các nơi khác trên khắp đất nước, Java được thiên nhiên ban tặng cảnh đẹp tự nhiên phong phú, từ bãi biển hoang sơ như Kepulauan Seribu trên...

weixin_34547628的博客 6万+

pandas借助python爬虫爬取网页html表格保存到excel文件

pandas借助python爬虫爬取网页html表格保存到excel文件

听海边涛声 1372

python-读取excel中的网页链接,将网页标题读取并保存至新的excel文件

#coding:utf-8 import requests import re file_path = "C:\\Desktop\\网站链接.xls" result = '' with open(file_path,'r') as f: line = f.readline() while line != '': data = str(line).replace('\r','').replace('\n','') if data.strip()[0:4] !=

qq_37016994的博客 898

从 Excel 表格中读取网址列表,用Baiduspider爬取网页标题,并将结果保存到新的 Excel 文件中

使用Python的示例代码,用于爬取提供的Excel表中的网址,并提取每个网页的标签中的内容,然后将结果保存到新的Excel表格中。

weixin_44523517的博客 849

将服务器的网页报表保存到excel文件

很多网站上有导出报表到excel的功能,但是我们又知道java的安全机制限制了我们不可能操作客户端的磁盘,那么我们怎么将服务器页面的报表导出到本地客户端呢?下面的这个方法就满足了我们的需求。。。 @ page contentType="application/msexcel" %> 只要在需要导出的网页前加上这两句,红字为必须。。另外,客户端必须安装有office套件,否则此功能无法实现

764

VC 彻底关闭Excel进程,将Excel文件保存为HTML网页,不显示任何警告对话框

1.彻底关闭Excel进程 rang.ReleaseDispath(); sheet.ReleaseDispath(); sheets.ReleaseDispath(); book.ReleaseDispath(); books.ReleaseDispath();

1617

用jsp把网页内容保存为excel文件

项目中使用了jasperreport做为报表工具,一直运行平稳,但前段时间客户要求按字段输出成excel报表, 而jasper报表尽管可以输出成excel但不灵活,不能灵活的选取输出字段,为此,想直接把数据库检索的内容,输出到excel文件中。写出了一个jsp文件,结果证明是可行的。   response.setHeader("Content-disposition","inline; fil

新好人的专栏 3660

从网页批量采集数据,保存为csv文件,excel乱码的解决方法

网页自动操作通用工具系列软件支持从网页采集任意位置数据,并可批量采集保存为csv表格文件。 保存的csv表格文件,可以用记事本正常打开。因网页编码差异,如用excel打开出现乱码,按以下方法可以解决。CSV是逗号分隔值的英文缩写,通常都是纯文本文件。CSV格式是分隔的数据格式,有字段/列分隔的逗号字符和记录/行分隔换行符。通常CSV文件可以...

u012057217的博客 2160

爬取豆瓣TOP250电影并保存为excel文件与db文件,有网页展示哦!

任务介绍 基本流程 在豆瓣上通过F12调试,可以看出我们需要爬取的内容在<div class="item">这里 下面废话不多说直接上代码: from bs4 import BeautifulSoup # 网页解析,获取数据 import re # 正则表达式,进行文字匹配 import urllib.request, urllib.error # 制定URL,获取网页数据 import xlwt # 进行excel操作 def main(): baseurl = "ht

JulyLi2019的博客 1641

html 表格_Pandas借助Python爬虫爬取HTML网页表格保存到Excel文件

如果一个HTML网页中有表格,怎样爬取下来?Pandas的read_html可以很方便的解析URL地址或者HTML代码中的表格,直接转换成dataframe,用于后续的处理、分析、导出。比如有这么一个案例,我自己经常使用网易有道词典查英文单词,经常将新单词加入到单词本,日积月累单词就越来越多,我想把这些单词都导出到excel,怎样可以集中复习甚至打印出来看。可是网易有道词典没这个导出全部...

weixin_39905695的博客 602

保存为文件_Excel中的图片不知道怎么保存?分享两种批量保存Excel图片的方法...

有时候我们的Excel文件中保存了大量图片,我们需要将这些图片保存下来。我们第一反应可能是选中每一张图片,然后点击保存,但是,你会发现Excel并没有提供图片另存的功能:在图片上右键点击,弹出菜单中并没有另存图片选项。如果需要保存的图片不多,我们大可以直接复制图片,粘贴到PowerPoint中,然后再另存:但如果图片很多,全部需要保存,怎么办?把Excel文件另存为网页即可导出全部图片在Excel...

weixin_39588252的博客 1354

如何发布网页_Excel工作表如何发布成网页形式?简单四步轻松搞定!

在我们的日常工作当中,想必很多的小伙伴每天都会接触到大量的表格文件。而这些表格文件可能除了平时我们日常的编辑、新增或删除的基本的使用之外,有的时候,工作表当中的内容可能还需要发布成网页,以此来作为网页设置的素材进行使用。那么如何将Excel工作表发布成网页呢?今天就跟着小编一起来学习一下吧。第一步打开所需要的Excel数据表格,然后点击工具栏上方的【文件】选项。 第二步在弹出的选项中,选...

weixin_39775577的博客 2286
下一篇: 传统的和基于XML的WEB机构体系,以及WEB Services ( XML专题 一)
michaelhawn
博客等级 码龄25年 0粉丝 2原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值