被用来检索\替换那些符合某个模式(规则)的文本,对于文本过滤或规则匹配,最强大的就是正则表达式,是python爬虫里必不可少的神兵利器. 1 正则表达式re基本规则 [0-9] 任意一个数字,等价\d [a-z] 任意一个小写字母 [A-Z]任意一个大写字母 [^0-9] 匹配非数字,等价\D \w 等价[a-z0-9_],字母数字下划线 \W 等价对\w取非 . 任意字符 [] 匹配内部任意字符或子表达式 [^] 对字符集合取非 * 匹配前面的字符或者子表达式0次或多次 + 匹配前一个字符至少…
1 BeautifulSoup概述 beautifulSoup是勇python语言编写的一个HTML/XML的解析器,它可以很好地处理不规范标记并将其生成剖析树(parse tree): 它提供简单而又常见的导航(navigating),搜索及修改剖析树,此可以大大节省编程时间 2 BeautifulSoup安装 2.1 安装 pip install beautifuilsoup4 当安装不成功时,首先查看windows的命令提示符是否是以管理员身份打开的. 然后再检查其他因素 2.2 使用 f…
1 数据类型 网页中的数据类型可分为结构化数据.半结构化数据.非结构化数据三种 1.1 结构化数据 常见的是MySQL,表现为二维形式的数据 1.2 半结构化数据 是结构化数据的一种形式,并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层.因此,它也被称为自描述的结构.常见的半结构数据有HTML,XML和JSON等,实际上是以树或者图的结构来存储的. <person> <name>A</name> &l…
在网页中使用svg有以下三种方式 1. svg归根结底来说是一种图像格式,虽然有别于jpeg,gif,png等位图图像格式,所以在网页中能嵌入图像的地方都可以嵌入svg,例如将svg文件设置为<img>元素的src属性,或者是给任意的元素设置背景图像,或者是设置为CSS3的属性border-image.但是这种方式的缺点也很明显,就是浏览器在渲染svg图像的时候,会将svg描述的矢量图像转换成栅格图像用于显示,这就失去了svg的一部分功能,svg是文本描述的图像格式,可能会有一些引用文件,比如…
抓取万水书苑网页中所有<a>标签中的超链接井显示. import requests from bs4 import BeautifulSoup url = 'http://www.wsbookshow.com/' html = requests.get(url) html.encoding="gbk" sp=BeautifulSoup(html.text,"html.parser") links=sp.find_all(["a",&q…
1 urllib.parse urllib 库中包含有如下内容 Package contents error parse request response robotparser 其中urllib.parse主要是用来解析URL(统一资源定位器)的. urllib.parse模块定义了一个标准接口,将统一资源定位器URL字符串拆分为诸如addressing scheme.网址.路径等组件:该模块也可以将相对URL(relative URL)转换为给定的基URL(base URL)的绝对URL(a…
1 私有属性的使用方式 在python中,没有类似private之类的关键字来声明私有方法或属性.若要声明其私有属性,语法规则为: 属性前加双下划线,属性后不加(双)下划线,如将属性name私有化,则 __name 即可. (实际上,属性前加单下划线,属性后不加下划线也可以 _name ) 1)以一个下划线开头的标识符(_xxx),不能访问的方法或属性,但可通过类提供的接口进行访问, 不会被语句 from module import * 语句加载. 单下划线开头的方式或属性:弱”内部使用“标识,…
1 数值类型 数值类型分为有符号signed和无符号unsigned两种. 1.1 整型 int (1)bigint 极大整型(8个字节) 范围 :-2**64 ~ 2**64 - 1 -9223372036854775808 到 9223372036854775807 无符号类型:0 到 18446744073709551615 (2)int 大整型(4个字节) 范围 :-2**32 ~ 2**32-1 -2147483648 到 2147483647 常规 无符号类型 0 到 4294967…
涉及到处理excel文件中日期格式数据 这里自己整理下 两种方法 代码如下: @classmethod def get_time(cls, table, nrows): testtime = [] for i in range(1, nrows): # data = xlrd.xldate.xldate_as_datetime(table.cell(i, 6).value, 1) # 日期格式转化成datetime对象 data = xlrd.xldate_as_tuple(table.cell…
a = ' a = list(a) a[2] = ' news = ''.join(a) print news,a 注意不能使用 news = '' news.join(a) 因为news.join只是新建立了一个字符串,然后返回,而并没有在字符串本身上进行修改.类似于string类.切记.但是其可以使用news = news.join()…