示例:
<table> <thead> <tr> <th>ID</th> <th>名稱</th> <th>電話</th> <th>說明</th> <th>類型</th> <th>位置</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>11</td> <td>111111</td> <td>1111111</td> <td>11111111</td> <td>111111111</td> </tr> <tr> <td>2</td> <td>22</td> <td></td> <td></td> <td>22222222</td> <td>222222222</td> </tr> </tbody> </table>
如果上述代碼是列表頁中要獲取的部分代碼,現在要獲取 所有列表頁 的tbody標簽中每個tr標簽下 除第三、四個td標簽(這2個中可能有數據,也可能無數據) 外的其他4個td標簽中的數據,該如何獲取?
如果使用如下方式獲取:
res = html.xpath('//tbody/tr/td/text()')print(res)
則結果為:
['1', '11', '111111', '1111111', '11111111', '111111111', '2', '22', '22222222', '222222222', ...]
這樣不方便清洗不需要的數據。
可以分三步來獲取數據。 第一步:獲取所有的td節點
res = html.xpath('//tbody/tr/td')print(res)
結果為:
[<Element td at 0x93cd9c8>, <Element td at 0x93cdbc8>, <Element td at 0x93cdd48>, <Element td at 0x93cd708>, <Element td at 0x93cddc8>, <Element td at 0x93d74c8>, <Element td at 0x93d7d08>, <Element td at 0x93d7048>, <Element td at 0x93d7288>, <Element td at 0x93d7548>, <Element td at 0x93d7888>, <Element td at 0x93d7388>]
第二步:將大list分割成多個小list,每個小list包含6個td節點
res2 = [res[s : s + 6] for s in range(0, len(res), 6)]#將大list分割成多個小list,每個小list包含6個td節點print(res2)
結果為:
[[<Element td at 0x93cdb48>, <Element td at 0x93cd788>, <Element td at 0x93cd848>, <Element td at 0x93cdd08>, <Element td at 0x93cdf88>, <Element td at 0x93d7e48>], [<Element td at 0x93d7e08>, <Element td at 0x93d7388>, <Element td at 0x93d7888>, <Element td at 0x93d7548>, <Element td at 0x93d7808>, <Element td at 0x93d7288>]]
第三步:循環獲取每個小list中的每個td節點的文本數據,并剔除不需要的數據
for x in res2:res3 = []for y in x:res4 = y.xpath('text()')res3.append(str(res4).strip("[']"))res3 = res3[:2] + res3[4:]#只保留除了第3、4個td標簽外的其他4個td標簽的數據print(res3)
結果為:
['1', '11', '11111111', '111111111']['2', '22', '22222222', '222222222']
這樣就獲得了想要的結果。
如有更好的方法,請留言告訴我,謝謝!
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。
196520.html
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
如何利用UG畫出齒輪?1.簡單的方法,先打開你電腦上的UG,全選左鍵雙擊或則右鍵單擊你選再打開,以UG10.0版本為例。ug12.0怎么在齒輪上加鏈條?怎摸在齒輪上加鏈條?把鏈條安在齒輪上,然后再再幫他合作單獨計算上ug中建模齒輪的名稱什么格式?ug10.0以上的全是中文格式,以下的是英文格式。ug的錐齒輪嚙合步驟?錐齒輪嚙合是先從錐齒輪小端進入到嚙合,滾動到錐大端。Ug10怎樣調掃掠方向?你指的...
誰有 《玻璃杯》 歌詞?玻璃演唱:Cremebrulee組合你曾說我的心像玻璃。要像水一樣透明,哪怕滿是心碎。你可以很輕松的撒出來,假裝無所謂。我常說我就像一面玻璃。心痛,無愿,無悔,再灑脫,再美好的笑。我該為我破碎的心付出什么?嘿,一小杯裝不下太多眼淚多一點愛會讓你更累。撒一些,讓自己飛起來。輕輕敲打的玻璃總是太容易破碎。眼淚裝不下魅力。誰殲滅了誰,誰能理解?你曾說我的心像玻璃。要像水一樣透明,...
索愛k550怎么樣?索尼K550c/K550i參考價格:1250元優勢1.操作簡單,系統反應迅速。2:擁有14mm的超薄機身。3.具有豐富的視聽娛樂功能。4:支持自動對焦和實用相機功能。劣勢1.屏幕分辨率低。2.設計獨特的按鍵,手感不好。3.作為一款Cyber-shot手機,拍照功能缺乏亮點。索愛w700和k750c哪個好?愛W系列主打音樂播放器,K系列主打照片播放器。兩個系列定位不同,看你是喜歡...