pyquery 相关用法
pyspider 的内容选择器默认已经实例化一个pyquery对象,可以直接使用pyquery的api来获取自己需要的内容。
在pyquery中使用response.doc就可以直接实例化一个pyquery对象,就可以直接在里面使用pyquery方法了,
html()和text()
获取相应的HTML块或文本块,
根据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()方法只返回首个元素的相应内容块
eq(index)
根据给定的索引号得到指定元素
filter()
根据类名、id名得到指定元素,
起一个删选作用
find()
查找嵌套元素,
直接根据类名、id名获取元素,
例:html:"<div><p id='1'>test 1</p><p class='2'>test 2</p></div>"
response.doc('#1').html()
response.doc('.2').html()
获取属性值,
例: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]用来取“电话”