Python爬虫处理xml和html的字符串
来源:互联网 发布:软件绿色化 编辑:程序博客网 时间:2024/06/03 10:36
在爬取网页时,有时候网页返回的数据是xml或者html片段,需要自己进行处理分析,在网上搜索了一下处理方法,这里总结一下。
首先给一个简单的“爬虫”:
import urllib2def get_html(url,response_handler): response=urllib2.urlopen(url) return response_handler(response.read())#crawl the pageget_html("www.zhihu.com/topics",html_parser)
以上就是获取单个页面的“爬虫”了,确实很简陋,但是也说明了爬虫核心过程:抓取网页和分析网页。
抓取网页的过程基本是固化的,我们的重点在response_handler里面,这个参数就是分析网页的方法,在一些流行的爬虫框架中我们主要需要完成的也是分析网页的过程。上面示例中使用的是xml_parser函数,不要以为有默认实现(其实并没有),下面我们来完成这个函数:
#使用lxml库来分析网页,此库的详细使用可以自行百度import lxml.etreedef html_parser(response): page=lxml.etree.HTML(response) #这里使用了XPATH来取元素,XPATH用法自行百度 for elem in page.xpath('//ul[@class="zm-topic-cat-main"]/li'): print elem.xpath('a/text()')[0]
我们使用了lxml.etree.HTML()载入网页的内容,返回的对象可以用xpath来取网页的元素,好像还支持CSS语法取元素,详细内容可以查阅相关文档。上面的分析函数完成的是打印所有分类的名称。
对于解析xml的字符串的方法,和上面类似,举例如下:
import lxml.etreedef xml_parser(response): page=lxml.etree.fromstring(response) #do what you want pass
暂时就这些
0 0
- Python爬虫处理xml和html的字符串
- python处理HTML和XML
- Python处理XMl数据文件和XML数据流(字符串)
- python爬虫超时的处理
- python爬虫超时的处理
- go语言--爬虫--对字符串的处理
- python的字符串处理
- python的字符串处理
- Python 的字符串处理
- python字符串的处理
- Python的字符串处理
- python字符串的处理
- Python的html和xml解析库Beautiful Soup
- 处理python爬虫的timeout报错
- python爬虫-异常处理
- [Python]网络爬虫(三):异常的处理和HTTP状态码的分类
- [Python]网络爬虫(三):异常的处理和HTTP状态码的分类
- [Python]网络爬虫(三):异常的处理和HTTP状态码的分类
- Swift3.0 设置WKWebView cookies
- Java多线程系列目录(共43篇)——转载
- top、margin-top的区别
- NOIp2013PJ T2
- libxml2实例
- Python爬虫处理xml和html的字符串
- java.lang.ClassNotFoundException Class.forName()
- document.loaction
- c++函数重载摘要
- Linux Pthread 深入解析
- 多段线性函数
- PHP缓存技术总结
- 可扩展Web架构与分布式系统
- 并查集