跳过正文

爬虫

6、beautifulsoup
·3624 字·8 分钟· loading · loading
Python 爬虫
简单来说,Beautiful Soup 是 python 的一个库,最主要的功能是从网页抓取数据。官方解释如下:
5、正则表达式
·1074 字·3 分钟· loading · loading
Python 爬虫
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。
4、HTMLParser
·1380 字·3 分钟· loading · loading
Python 爬虫
HTMLParser是html.parser模块下,主要是用来解析HTML文件(包括HTML中无效的标记)的模块。 参数convert_charrefs表示是否将所有的字符引用自动转化为Unicode形式,Python3.5以后默认是True。 HTMLParser可以接收相应的HTML内容,并进行解析,遇到HTML的标签会自动调用相应的handler(处理方法)来处理,用户需要自己创建相应的子类来继承HTMLParser,并且复写相应的handler方法。 HTMLParser不会检查开始标签和结束标签是否是一对 常见方法与属性 # 方法 # HTMLParser.feed(data):接收一个字符串类型的HTML内容,并进行解析。 HTMLParser.close():当遇到文件结束标签后进行的处理方法。如果子类要复写该方法,需要首先调用HTMLParser累的close()。 HTMLParser.reset():重置HTMLParser实例,该方法会丢掉未处理的html内容。 HTMLParser.getpos():返回当前行和相应的偏移量。 HTMLParser.handle_starttag(tag, attrs):对开始标签的处理方法。例如<div id="main">,参数tag指的是div,attrs指的是一个由(name,Value)元组组成的列表。 HTMLParser.handle_endtag(tag):对结束标签的处理方法。例如</div>,参数tag指的是div。 HTMLParser.handle_startendtag(tag, attrs):识别没有结束标签的HTML标签,例如<img />等。 HTMLParser.handle_data(data):对标签之间的数据的处理方法。<tag>test</tag>,data指的是“test”。 HTMLParser.handle_comment(data):对HTML中注释的处理方法。 属性 # HTMLParser.lasttag:上一个解析的标签名,是字符串 例子 # from html.parser import HTMLParser # 集成HTMLParser,重写方法 class MyHtmlParser(HTMLParser): def handle_starttag(self,tag,attrs): "开始标签" print('%s标签开始' % tag) print('%s标签属性:%s' % (tag,attrs)) def handle_endtag(self, tag): "处理结束标签" print('%s标签结束' % tag) def handle_startendtag(self, tag, attrs): "处理自闭和标签" print('%s自闭和标签' % tag) print('%s标签属性:%s' % (tag,attrs)) def handle_data(self, data): "处理标签间数据" print('%s标签间数据为:%s' % (self.lasttag,data)) def handle_comment(self, data): "处理注释" print('注释:%s' % data) def handle_entityref(self, name): print('&%s;' % name) def handle_charref(self, name): print('&#%s;' % name) html = """ <html> <-- 这是注释 --> <head>这是头标签</head> <body> <!-- test html parser --> <p>Some <a href=\"#\">html</a> HTML&nbsp;&#1234; Ӓtutorial...<br>END</p> </body> </html> """ #解析html字符串 p = MyHtmlParser() p.feed(html) #关闭解析 p.close() 转义字符 # 用 Python 来处理转义字符串有多种方式,而且 py2 和 py3 中处理方式不一样,在 python2 中,反转义串的模块是 HTMLParser。
3、requests
·1272 字·3 分钟· loading · loading
Python 爬虫
requests是使用Apache2 licensed 许可证的HTTP库。 用python编写,比urllib2模块更简洁,本质就是封装了urllib3。
2、urllib
·2324 字·5 分钟· loading · loading
Python 爬虫
urllib提供了一系列用于操作URL的功能。 urllib包包含以下几个模块:
1、爬虫
· loading · loading
Python 爬虫