python网络爬虫系列教程——python中pyquery库应用全解
2017-11-01 15:54
656 查看
全栈工程师开发手册 (作者:栾鹏)
python教程全解
python网络爬虫lxml库的应用全解。
在线安装方法:cmd中输入”pip install pyquery”
离线安装,下载pyquery库点击下载
python库的安装请参考Python库的安装与卸载
具体讲解废话太多,看代码注释最快。
python教程全解
python网络爬虫lxml库的应用全解。
在线安装方法:cmd中输入”pip install pyquery”
离线安装,下载pyquery库点击下载
python库的安装请参考Python库的安装与卸载
具体讲解废话太多,看代码注释最快。
python2.7、python3.6中代码
#coding:utf-8 #网络爬虫库pyquery的应用,以下代码同时支持python2和python3 from pyquery import PyQuery as pq print(u'=====================初始化====================') doc = pq("<html></html>") #传入html代码 #from lxml import etree #doc = pq(etree.fromstring("<html></html>")) #可以首先用lxml 的 etree 处理一下代码 doc = pq('http://www.baidu.com') #传入网址 text = ''' <html><body><div> <ul> <li class="item-0"><a href="link1.html">first item</a></li> <li class="item-1"><a href="link2.html">second item</a></li> <li class="item-inactive"><a href="link3.html"><span class="bold">third item</span></a></li> <li class="item-1"><a href="link4.html">fourth item</a></li> <li class="item-0"><a href="link5.html">fifth item</a> </li></ul> </div> </body></html> ''' #将字符串写入文件 fh = open('test.html', 'w') fh.write(text) fh.close() doc = pq(filename='test.html') #传入本地文件 print(doc.html()) #获取元素的内部html代码 print(type(doc)) #返回类型是PyQuery li = doc('li') #获取所有的li元素 print(type(li)) #返回类型依然是PyQuery,可以进行二次筛选 print(li.text()) #获取li的内部文本 print(u'=====================属性====================') p = pq('<p id="hello" class="hello"></p>')('p') #创建dom树后获取标签 print(p.attr("id")) #读取属性值 print(p.attr("id", "plop")) #设置属性值 print(p.attr("id", "hello")) #设置属性值 print(p.addClass('beauty')) #添加class print(p.removeClass('hello')) #去除class print(p.css('font-size', '16px')) #设置css值 print(p.css({'background-color': 'yellow'})) #通过列表设置css print(u'=====================DOM====================') print(p.append(' check out <a href="http://reddit.com/r/python"><span>reddit</span></a>')) #在内部原有html代码后添加代码 print(p.prepend('Oh yes!')) #在内部原有html代码前添加代码 d = pq('<div class="wrap"><div id="test"><a href="http://cuiqingcai.com">Germy</a></div></div>') #创建一个dom树 td = d('#test') #获取id为test的元素 p.prependTo(td) #将p元素添加到td元素内,在td内部html代码的前面,源节点不变 print(d) d.empty() #清空元素内部html代码 print(d) print(u'=====================遍历====================') doc = pq(filename='test.html') lis = doc('li') for li in lis.items(): print(li.html()) #打印li元素的内部html代码 print(lis.each(lambda e: e)) #each遍历函数,lambda表达式,不常用 print(u'=====================网页请求====================') print(pq('http://www.525heart.com/index/index/index.html', headers={'user-agent': 'pyquery'})) #get请求方式,可设置headers print(pq('http://httpbin.org/post', {'foo': 'bar'}, method='post', verify=True)) #post请求方式,可设置data和headers,已经控制是否检验
相关文章推荐
- python网络爬虫系列教程——PhantomJS包应用全解
- python网络爬虫系列教程——python中lxml库应用全解(xpath表达式)
- python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类
- python网络爬虫系列教程——python中requests库应用全解
- python网络爬虫系列教程——python中urllib、urllib2、cookie模块应用全解
- python网络爬虫系列教程——python中BeautifulSoup4库应用全解
- python网络爬虫系列教程——python中requests库应用全解
- python网络爬虫系列教程——Python+PhantomJS +Selenium组合应用
- python 爬虫系列教程方法总结及推荐
- Python 爬虫学习系列教程----目录
- [Python]网络爬虫(七):Python中的正则表达式教程
- Python系列视频教程: Django【13讲】第13讲 表单使用
- python数据存储系列教程——python(pandas)读写csv文件
- python应用系列教程——python操作office办公软件word
- python基础系列教程——python面向对象编程全解
- Python Twisted 学习系列3(转载stulife最棒的Twisted入门教程)
- Python 爬虫学习系列教程
- Python+Django+SAE系列教程2-----Python种的函数、模块和数据结构
- Python时间序列LSTM预测系列教程(10)-多步预测
- Python基础教程系列目录,最全的Python入门系列教程!