pyquery的問題
老師您好:
操作過pyquery後覺得他獨立使用似乎更方便、直覺一些,請問作業中Grab、PyQuery一起使用有特殊的涵義嗎?
另外pyquery在解析grab物件時出現中文亂碼的問題,加了encoding = 'utf-8' 也沒有解決,不知道有沒有人遇到一樣的狀況~(這邊使用dcard:'https://www.dcard.tw/f/funny')
請幫我解惑,謝謝!
回答列表
-
2019/12/26 下午 08:03張維元 (WeiYuan)贊同數:4不贊同數:0留言數:0
嗨,幾點回答:
1. 「操作過pyquery後覺得他獨立使用似乎更方便、直覺一些,請問作業中Grab、PyQuery一起使用有特殊的涵義嗎?」
=> PyQuery 主要的工作跟「BeautifulSoup」是一樣的,提供 HTML 字串的解析。PyQuery 主打的是 a jquery-like library for python ,跟 jQuery 用法類似的 Python 套件。jQuery 是一個 JavaScript 上的 HTML 操作工具,對於網頁開發者會比較友善。簡單來說,PyQuery 適合哪些「從網頁開發者跳來用 Python 寫爬蟲」的開發者。
Grab、PyQuery 一起使用是因為 Request + BeautifulSoup 是比較常見的使用方式,所以我們前面很多天的課程都是用這兩個。這邊只是想要跟你們說除了 Request 還有 Grab、除了 BeautifulSoup 還有 PyQuery,可以自行搭配使用,例如可以用 Grab + BeautifulSoup 或 Request + PyQuery 都是可行的:)
-
2019/12/26 下午 08:07張維元 (WeiYuan)贊同數:2不贊同數:0留言數:0
2. 「中文亂碼的問題」可以試試看這樣用:
```
PyQuery('...', encoding='utf8')
```
-
2019/12/26 下午 08:11張維元 (WeiYuan)贊同數:3不贊同數:0留言數:0
另外,其實 PyQuery 也可以直接存取網址,例如:
```
from pyquery import PyQuery as pq
d = pq(url='http://google.com/')
```
只是要關注一下文件,回來的資料格式如何。
-
2020/01/19 下午 11:48蔡孟宗贊同數:0不贊同數:0留言數:0
中文亂碼那邊,試試看把pq(resp.body)改成pq( resp.unicode_body() )