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 - vue2.0中使用vue2-dropzone的demo,vue2-dropzone的github網址是什么??百度不到。2. vue計算屬性怎么樣與for結合使用3. angular.js - vue/react 渲染內容抖動4. python - 為什么正常輸出中文沒有亂碼,zip函數之后出現中文編程unicode編碼的問題,我是遍歷輸出的啊。5. javascript - html中這兩種方式為什么都不能讓<p>標簽居中?6. html5 - chrome下的a標簽download屬性無法調出另存為的下載框7. html5 - chrome上的video控制條不同8. javascript - js let 和 var問題9. centos - rpm更新軟件wkhtmltox報錯10. javascript - 如何用最快的速度C#或Python開發一個桌面應用程序來訪問我的網站?
