真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中PyQuery如何使用

本篇文章給大家分享的是有關(guān)Python中PyQuery如何使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供桐城企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、H5頁面制作、小程序制作等業(yè)務。10年已為桐城眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。

安裝

pip install pyquery

初始化

在這里介紹四種初始化方式。

(1)直接字符串

from pyquery import PyQuery as pq  doc = pq("")

pq 參數(shù)可以直接傳入 HTML 代碼,doc 現(xiàn)在就相當于 jQuery 里面的 $ 符號了。

(2)lxml.etree

from lxml import etree  doc = pq(etree.fromstring(""))

可以首先用 lxml 的 etree 處理一下代碼,這樣如果你的 HTML 代碼出現(xiàn)一些不完整或者疏漏,都會自動轉(zhuǎn)化為完整清晰結(jié)構(gòu)的  HTML代碼。

(3)直接傳URL

from pyquery import PyQuery as pq  doc = pq('http://www.baidu.com')

這里就像直接請求了一個網(wǎng)頁一樣,類似用 urllib2 來直接請求這個鏈接,得到 HTML 代碼。

(4)傳文件

from pyquery import PyQuery as pq  doc = pq(filename='hello.html')

可以直接傳某個路徑的文件名。

快速體驗

現(xiàn)在我們以本地文件為例,傳入一個名字為 hello.html 的文件,文件內(nèi)容為

      
               first item           second item           third item           fourth item           fifth item       
  

編寫如下程序

from pyquery import PyQuery as pq  doc = pq(filename='hello.html')  print doc.html()  print type(doc)  li = doc('li')  print type(li)  print li.text()

運行結(jié)果

               first item           second item           third item           fourth item           fifth item       
      first item second item third item fourth item fifth item

看,回憶一下 jQuery 的語法,是不是運行結(jié)果都是一樣的呢?

在這里我們注意到了一點,PyQuery 初始化之后,返回類型是 PyQuery,利用了選擇器篩選一次之后,返回結(jié)果的類型依然還是 PyQuery,這簡直和  jQuery 如出一轍,不能更贊!然而想一下 BeautifulSoup 和 XPath 返回的是什么?列表!一種不能再進行二次篩選(在這里指依然利用  BeautifulSoup 或者 XPath 語法)的對象!

然而比比 PyQuery,哦我簡直太愛它了!

屬性操作

你可以完全按照 jQuery 的語法來進行 PyQuery 的操作。

from pyquery import PyQuery as pq     p = pq('

')('p')  print p.attr("id")  print p.attr("id", "plop")  print p.attr("id", "hello")

運行結(jié)果

hello    

再來一發(fā)

from pyquery import PyQuery as pq     p = pq('

')('p')  print p.addClass('beauty')  print p.removeClass('hello')  print p.css('font-size', '16px')  print p.css({'background-color': 'yellow'})

運行結(jié)果

      

依舊是那么優(yōu)雅與自信!

在這里我們發(fā)現(xiàn)了,這是一連串的操作,而 p 是一直在原來的結(jié)果上變化的。

因此執(zhí)行上述操作之后,p 本身也發(fā)生了變化。

DOM操作

同樣的原汁原味的 jQuery 語法

from pyquery import PyQuery as pq     p = pq('

')('p')  print p.append(' check out 

這不需要多解釋了吧。

DOM 操作也是與 jQuery 如出一轍。

遍歷

遍歷用到 items 方法返回對象列表,或者用 lambda

from pyquery import PyQuery as pq  doc = pq(filename='hello.html')  lis = doc('li')  for li in lis.items():      print li.html()     print lis.each(lambda e: e)

運行結(jié)果

first item  second item  third item  fourth item  fifth item  first item  second item  third item  fourth item  fifth item

不過最常用的還是 items 方法

網(wǎng)頁請求

PyQuery 本身還有網(wǎng)頁請求功能,而且會把請求下來的網(wǎng)頁代碼轉(zhuǎn)為 PyQuery 對象。

from pyquery import PyQuery as pq  print pq('http://cuiqingcai.com/', headers={'user-agent': 'pyquery'})  print pq('http://httpbin.org/post', {'foo': 'bar'}, method='post', verify=True)

以上就是Python中PyQuery如何使用,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


本文題目:Python中PyQuery如何使用
鏈接分享:http://weahome.cn/article/ppodis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部