1. pyquery
1.1 介紹如果你對CSS選擇器與Jquery有有所了解,那么還有個解析庫可以適合你--Jquery官網https://pythonhosted.org/pyquery/
1.2 安裝pip install pyquery
1.3 使用方式
1.3.1 初始化方式字符串
python query、from pyquery import PyQuery as pq
doc = pq(str)
print(doc(tagname))url
from pyquery import PyQuery as pq
doc = pq(url='http://www.baidu.com')
print(doc('title'))文件
python爬蟲爬取網頁所有數據。from pyquery import PyQuery as pq
doc = pq(filename='demo.html')
print(doc(tagname))
1.3.2 選擇節點獲取當前節點
from pyquery import PyQuery as pq
doc = pq(filename='demo.html')
python3抓取網頁數據,doc('#main #top')獲取子節點在doc中一層層寫出來
獲取到父標簽后使用children方法
from pyquery import PyQuery as pq
doc = pq(filename='demo.html')
doc('#main #top').children()獲取父節點獲取到當前節點后使用parent方法
獲取兄弟節點獲取到當前節點后使用siblings方法
Python數據抓取,1.3.3 獲取屬性
from pyquery import PyQuery as pq
doc = pq(filename='demo.html')
a = doc('#main #top')
print(a.attrib['href'])
1.3.4 獲取內容
python 網頁抓取?from pyquery import PyQuery as pq
doc = pq(filename='demo.html')
div = doc('#main #top')
print(a.html())
print(a.text())
1.3.5 樣例
python爬取數據,from pyquery import PyQuery as pq
# 1.可加載一段HTML字符串,或一個HTML文件,或是一個url地址,
d=pq("
hello")d=pq(filename=path_to_html_file)
d=pq(url='http://www.baidu.com')注意:此處url似乎必須寫全
# 2.html()和text() ——獲取相應的HTML塊或文本塊,
python編程。p=pq("
hello")p('head').html()#返回
hellop('head').text()#返回hello
# 3.根據HTML標簽來獲取元素,
d=pq('
test 1
python獲取數據、test 2
d('p')#返回[
,
]
print d('p')#返回
test 1
python怎么用?test 2
print d('p').html()#返回test 1
# 注意:當獲取到的元素不只一個時,html()方法只返回首個元素的相應內容塊
# 4.eq(index) ——根據給定的索引號得到指定元素。接上例,若想得到第二個p標簽內的內容,則可以:
print d('p').eq(1).html() #返回test 2
# 5.filter() ——根據類名、id名得到指定元素,例:
python教程、d=pq("
test 1
test 2
d('p').filter('#1') #返回[
]
d('p').filter('.2') #返回[
]# 6.find() ——查找嵌套元素,例:
python從軟件界面抓取數據,d=pq("
test 1
test 2
d('div').find('p')#返回[
,
]d('div').find('p').eq(0)#返回[
python如何讀取列表中某個值、]
#7.直接根據類名、id名獲取元素,例:
d=pq("
test 1
test 2
d('#1').html()#返回test 1
python query函數。d('.2').html()#返回test 2
# 8.獲取屬性值,例:
d=pq("
hello
")d('a').attr('href')#返回http://hello.com
d('p').attr('id')#返回my_id
# 9.修改屬性值,例:
python讀取列表數據,d('a').attr('href', 'http://baidu.com')把href屬性修改為了baidu
# 10.addClass(value) ——為元素添加類,例:
d=pq('
d.addClass('my_class')#返回[
]# 11.hasClass(name) #返回判斷元素是否包含給定的類,例:
d=pq("
Python讀取數據,d.hasClass('my_class')#返回True
# 12.children(selector=None) ——獲取子元素,例:
d=pq("
hello
world
")d.children()#返回[
,
]
d.children('#2')#返回[
]
# 13.parents(selector=None)——獲取父元素,例:
d=pq("
hello
world
")d('p').parents()#返回[]
d('#1').parents('span')#返回[]
d('#1').parents('p')#返回[]
# 14.clone() ——返回一個節點的拷貝
#15.empty() ——移除節點內容
# 16.nextAll(selector=None) ——返回后面全部的元素塊,例:
d=pq("
hello
world
")d('p:first').nextAll()#返回[
, ]
d('p:last').nextAll()#返回[]
# 17.not_(selector) ——返回不匹配選擇器的元素,例:
d=pq("
test 1
test 2
")d('p').not_('#2')#返回[
]
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态