python - BeautifulSoup指定lxml作為解析器報錯?
問題描述
環境:windows 10PyCharm 2016.3.2
遇到問題:
剛開始學python,想用BeautifulSoup解析網頁,但出現報錯:
UserWarning: No parser was explicitly specified, so I’m using the best available HTML parser for this system ('lxml'). This usually isn’t a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.The code that caused this warning is on line 4 of the file C:/Users/excalibur/PycharmProjects/learn/getMyIP.py. To get rid of this warning, change code that looks like this: BeautifulSoup([your markup])to this: BeautifulSoup([your markup], 'lxml') markup_type=markup_type))
然后根據提示和官網的文檔加上:BeautifulSoup(markup, 'html.parser')
結果出現了這樣的報錯:
在Google搜了下,都是說要導入路徑,但是在 Settings -> Project -> Project Interpreter 里是這樣的
顯示BeautifulSoup已經導入了
請問我要怎么做才能解決這個問題呢?
萬分感謝!
問題解答
回答1:找了其他人的代碼看,終于知道是什么問題
并不是路徑的問題,而是傳參的問題
markup 其實是要解析的內容,例如:
soup = BeautifulSoup('<html>data</html>', 'lxml')
或者
markup = '<html>data</html>'soup = BeautifulSoup(markup, 'lxml')
PS. 在文檔中沒有函數參數列表之類的,不知道是不是找的位置錯了...
回答2:pip install lxml
相關文章:
1. javascript - js輸入框限定字數問題2. 解決Android webview設置cookie和cookie丟失的問題3. android - Windows系統下運行react-native App時,報下面的錯誤?4. android - 安卓webview無法全屏播放iframe騰訊、優酷視頻5. python - 我想把下面代碼中的多余空白行去除該怎么做,如何用正則實現6. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?7. PHP單例模式8. python - tweepy 庫 連接Twitter API 報錯9. java - mysql緩存問題10. python - 如何對列表中的列表進行頻率統計?
