我自己被 JQuery 荼毒極深, 所以很喜歡使用 PyQuery, 不過 PyQuery 2.0 和 1.X 版有一些改變, 如果沒注意, 程式執行一定會出錯。
要用 url 指名引數傳入網址
PyQuery 2.0 有一個關鍵的改變, 就是建立 PyQuery 物件時, 網址要用 url 指名引數傳入, 例如在 1.X 版中可以直接將網址傳入, 像是這樣寫:
>>> from pyquery import PyQuery as pq
>>> p = pq('https://flagtech.github.io/flag.txt')
>>> print(p.html())
顯示結果如下:
<body><p>FLAG
______ _ _____
| ____| | /\ / ____|
| |__ | | / \ | | __
| __| | | / /\ \| | |_ |
| | | |____ / ____ \ |__| |
|_| |______/_/ \_\_____|
</p></body>
PyQuery 的建構方法中會自動判斷傳入的字串是不是網址。
但是在 2.0 中, 同樣的寫法會被當成是要以傳入引數內容建立 PyQuery 物件, 而不是要載入網頁的網址:
>>> from pyquery import PyQuery as pq
>>> p = pq('https://flagtech.github.io/flag.txt')
>>> print(p.html())
https://flagtech.github.io/flag.txt
必須改成用 url
指名引數傳入網址:
>>> p = pq(url='https://flagtech.github.io/flag.txt')
>>> print(p.html())
顯示結果如下:
<body><p>FLAG
______ _ _____
| ____| | /\ / ____|
| |__ | | / \ | | __
| __| | | / /\ \| | |_ |
| | | |____ / ____ \ |__| |
|_| |______/_/ \_\_____|
</p></body>
Top comments (0)