pyspider中内容选择器常用方法汇总

pyspider 的内容选择器默认已经实例化一个pyquery对象,可以直接使用pyquery的api来获取自己需要的内容。

如果你英文基础好可以直接查看pyquery的官方文档。https://pythonhosted.org/pyquery/

在pyspider中常用案例:

1.在pyquery中使用response.doc就可以直接实例化一个pyquery对象,就可以直接在里面使用pyquery方法了,

2.html()和text() ——获取相应的HTML块或文本块,

例:html:"<head><title>hello</title></head>"
response.doc('head').html()#返回<title>hello</title>
response.doc('head').text()#返回hello

3.根据HTML标签来获取元素,

例:html:'<div><p>test 1</p><p>test 2</p></div>'

response.doc('p')#返回[<p>,<p>]

print response.doc('p')#返回<p>test 1</p><p>test 2</p>

print response.doc('p').html()#返回test 1

注意:当获取到的元素不只一个时,html()、text()方法只返回首个元素的相应内容块

4.eq(index) ——根据给定的索引号得到指定元素
接上例,若想得到第二个p标签内的内容,则可以:
print response.doc('p').eq(1).html() #返回test 2

5.filter() ——根据类名、id名得到指定元素,

例:html:"<div><p id='1'>test 1</p><p class='2'>test 2</p></div>"
response.doc('p').filter('#1') #返回[<p#1>]
response.doc('p').filter('.2') #返回[<p.2>]

6.find() ——查找嵌套元素,

例:html:"<div><p id='1'>test 1</p><p class='2'>test 2</p></div>"
response.doc('div').find('p')#返回[<p#1>, <p.2>]
response.doc('div').find('p').eq(0)#返回[<p#1>]

7.直接根据类名、id名获取元素,

例:html:"<div><p id='1'>test 1</p><p class='2'>test 2</p></div>"
response.doc('#1').html()#返回test 1
response.doc('.2').html()#返回test 2

8.获取属性值,

例:html:"<p id='my_id'><a href='http://hello.com'>hello</a></p>"
response.doc('a').attr('href')#返回http://hello.com
response.doc('p').attr('id')#返回my_id

9.获取内容的一部分可以用分割字符串法:

例:html:"<p id='my_tel'>姓名 电话</p>"

response.doc('#my_tel').text().split(' ')[0]用来取“姓名” response.doc('#my_tel').text().split(' ')[0]用来取“电话”

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,909评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,595评论 18 399
  • 自2012年7月份毕业后,如今已经毕业4年了,真的有点不敢相信!时间走得太快,自己进步得太慢,仿佛间大学还在昨天,...
    耳朵在聆听阅读 6,083评论 34 69
  • 失败见证了成功 穷人见证了富人 无情见证了有情 时间见证了爱情 金钱见证了人情 岁月见证了容颜 生命见证了奇迹 “...
    A希望阅读 1,697评论 0 3
  • 凌晨三点四十,醒来有些头疼,梦里梦外,都觉得疲惫,打开音乐播放器找不到想听的歌,刷微博,热门微博都是关于不好的事情...
    Alice52赫兹鲸鱼阅读 1,054评论 0 0

友情链接更多精彩内容