python 爬蟲前奏二 pyquery的使用

2021-10-09 21:23:25 字數 2487 閱讀 4728

doc = pq(html)
doc = pq(filename='demo.html')

#但是需要修改pyquery的原始碼

if 'filename' in kwargs:

#html = open(kwargs['filename'])

html = open(kwargs['filename'], "r", encoding="utf-8")

doc = pq(url='')

#等同於

doc = pq(requests.get('').text)

全篇以此文件為模板

html = '''

first item

second item

third item

fourth item

fifth item

'''

doc = pq(html)

main_list = doc('.s-main-slot').items()

count = 0

for ml in main_list:

print(ml)

main_list = doc('.s-main-slot.s-result-list2.s-search-results').items()

for ml in main_list:

print(ml)

main_list = doc('.s-main-slot.s-result-list2.s-search-results .list2').items()
main_list = doc('#container .list  li').items()
#所有子孫節點

items = doc('.list')

lis = items.find('li')

#子節點

lis = items.children()

print(lis)

#需要使用子節點的話

lis = items.children().items()

#直接父節點

items = doc('.list')

container = items.parent()

#祖先節點

items = doc('.list')

parents = items.parents()

li = doc('.list .item-0.active')

print(li.siblings())

#新增篩選條件

print(li.siblings('.active'))

lis = doc('li').items()

for li in lis:

print(li, type(li))

a = doc('.item-0.active a')

print(a, type(a))

print(a.attr('href'))

#print(a.attr.href)

#當多節點時,需要遍歷讀取

for item in a.items():

print(item.attr('href'))

text()則返回了所有的li節點內部的純文字,中間用乙個空格分割開,即返回結果是乙個字串。

a = doc('.item-0.active a')

print(a.text())

html()方法返回的是第乙個li節點的內部html文字,如果得到的結果是多個節點,並且想要獲取每個節點的內部html文字,則需要遍歷每個節點

li = doc('.item-0.active')

print(li.html())

li = doc('.item-0.active')

li.removeclass('active')

li.addclass('active')

attr()方法只傳入第乙個引數的屬性名,則是獲取這個屬性值;如果傳入第二個引數,可以用來修改屬性值。text()和html()方法如果不傳引數,則是獲取節點內純文字和html文字;如果傳入引數,則進行賦值。

text()方法,傳入文字之後,li節點內部的文字全被改為傳入的字串文字了

html()方法傳入html文字後,li節點內部又變為傳入的html文字了。

li.attr('name', 'link')

li.text('changed item')

li.html('changed item')

python3爬蟲實踐(二) 爬蟲前奏

1.1 什麼是網路爬蟲 1.2 通用爬蟲和聚焦爬蟲 2.1 什麼是 http 和 https 協議 2.2 在瀏覽器中傳送乙個 http 請求的過程 2.3 url 詳解 scheme host port path query string anchor2.4 常用請求方法 get 請求 一般情況下...

python網路請求 爬蟲前奏

惠惠購物助手。資料分析與研究 資料冰山知乎專欄 搶票軟體等。php php是世界是最好的語言,但他天生不是做這個的,而且對多執行緒 非同步支援不是很好,併發處理能力弱。爬蟲是工具性程式,對速度和效率要求比較高。j a 生態圈很完善,是python爬蟲最大的競爭對手。但是j a語言本身很笨重,量很大。...

python爬蟲之解析網頁的工具pyquery

主要是對這篇部落格所做的筆記 有疑惑可以去看這篇文章 from pyquery import pyquery as py 初始化的三種方式 doc py html doc py url encoding utf 8 doc py filename index.html 利用css選擇器 conten...