xpath和lxml的區(qū)別 lxml和etree什么區(qū)別?
lxml和etree什么區(qū)別? etree.parse文件直接接受文檔并根據(jù)文檔結(jié)構(gòu)進(jìn)行解析導(dǎo)入xml.etree.ElementTree文件作為ET樹(shù)=ET.解析(“國(guó)家u數(shù)據(jù).xml“”根=樹(shù).g
lxml和etree什么區(qū)別?
etree.parse文件直接接受文檔并根據(jù)文檔結(jié)構(gòu)進(jìn)行解析
導(dǎo)入xml.etree.ElementTree文件作為ET
樹(shù)=ET.解析(“國(guó)家u數(shù)據(jù).xml“”
根=樹(shù).getroot()
etree.html文件可以分析HTML文件:
頁(yè)=etree.HTML文件( html.lower文件().解碼(“utf-8”)
hrefs=頁(yè)面.xpath(u“//a”)
對(duì)于hrefs中的href:
打印href.attrib公司
瀏覽器不支持xpath要如何辦?
您的XPath太長(zhǎng)。很容易犯錯(cuò)誤。內(nèi)容的TR類是provincetr。使用這個(gè)過(guò)濾器要容易得多,//TR[@class=“provincetr”]/TD/A/text()不熟悉XPath。在閱讀了Wiki中的內(nèi)容之后,添加起來(lái)并不容易。這確實(shí)是你問(wèn)題的答案。為什么瀏覽器可以,但是lxml不能,因?yàn)闉g覽器沒(méi)有標(biāo)準(zhǔn)的大多數(shù)HTML文檔都有糾錯(cuò)功能,而lxml不會(huì)查看頁(yè)面源碼。注意它是源代碼,不是開(kāi)發(fā)工具;最后一個(gè)表不包含tbody,瀏覽器會(huì)自動(dòng)補(bǔ)充tbody,但是lxml沒(méi)有,所以找不到你的XPath
關(guān)于Python crawler,有很多第三方庫(kù),比如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