xpath和lxml的區(qū)別 lxml和etree什么區(qū)別?
lxml和etree什么區(qū)別? etree.parse文件直接接受文檔并根據(jù)文檔結(jié)構(gòu)進行解析導(dǎo)入xml.etree.ElementTree文件作為ET樹=ET.解析(“國家u數(shù)據(jù).xml“”根=樹.g
lxml和etree什么區(qū)別?
etree.parse文件直接接受文檔并根據(jù)文檔結(jié)構(gòu)進行解析
導(dǎo)入xml.etree.ElementTree文件作為ET
樹=ET.解析(“國家u數(shù)據(jù).xml“”
根=樹.getroot()
etree.html文件可以分析HTML文件:
頁=etree.HTML文件( html.lower文件().解碼(“utf-8”)
hrefs=頁面.xpath(u“//a”)
對于hrefs中的href:
打印href.attrib公司
瀏覽器不支持xpath要如何辦?
您的XPath太長。很容易犯錯誤。內(nèi)容的TR類是provincetr。使用這個過濾器要容易得多,//TR[@class=“provincetr”]/TD/A/text()不熟悉XPath。在閱讀了Wiki中的內(nèi)容之后,添加起來并不容易。這確實是你問題的答案。為什么瀏覽器可以,但是lxml不能,因為瀏覽器沒有標準的大多數(shù)HTML文檔都有糾錯功能,而lxml不會查看頁面源碼。注意它是源代碼,不是開發(fā)工具;最后一個表不包含tbody,瀏覽器會自動補充tbody,但是lxml沒有,所以找不到你的XPath
關(guān)于Python crawler,有很多第三方庫,比如scratch等,我寫了一系列關(guān)于crawler的文章,可供參考學(xué)習(xí)-今日頭條]https://m.toutiaocdn.com/i6612149341303865859/?app=newsuarticle&timestamp=1599008220&useuunewustyle=1&reqid=202009020857002103422021488be6&groupid=6612149341303865859&ttfrom=copylink&utmsource=copylink&utmmedium=toutiaoios&utmcampaign=clientshare