PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[問題] 爬蟲表格的問題
作者:
ptoyhawinf
(沉睡的毛利小五郎)
2017-08-05 02:37:53
各位前輩好
小弟最近試著爬一些設備端的網頁,想取得設備目前運作狀態
(snmp竟然沒辦法取得我想要的資訊)
試著用bs及pyquery來實作
但在table這卡關,希望有經驗的前輩可以解惑一下
html如下
<table>
<thead>
<tr>
<th>
欄位1</th>
<th>
欄位2</th>
<th>欄位3</th>
<th>欄位4</th>
<th>欄位5</th>
<th>
欄位6</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2">
AB</td>
<th>a0</th>
<td class="bold green_border">a1<br></td>
<td class="grey">a2</td>
<td class="grey">a3</td>
<td rowspan="2">ab4</td>
</tr>
<tr>
<th>b0<br></th>
<td class="bold">b1</td>
<td class="grey">b2<br></td>
<td class="grey">b3</td>
</tr>
<tr>
<td rowspan="2">
CD</td>
<th>c0</th>
<td class="bold">c1</td>
<td class="grey">c2</td>
<td class="grey">c3</td>
<td rowspan="2">cd4</td>
</tr>
<tr>
<th>d0<br></th>
<td class="bold green_border">d1</td>
<td class="grey">d2</td>
<td class="grey">d3</td>
</tr>
</tbody>
</table>
大致上,是要取得class = green_border的值,但也要取得它前後的一些欄位
但因為有的td rowspan =2,所以不管是直接filter green_border,再往前後取得值
或是取得tr後,再find,好像都拿不到rowspan的值
比如我要找的值是d1(欄位3),但我要怎麼拿到CD(欄位1)或cd4(欄位6)的值呢?
麻煩有經驗的前輩指導一下,謝謝你們了。
作者:
hoho8
(hoho)
2017-08-05 03:53:00
假設格式永不改變,硬拆的話
" target="_blank">
" class="img-responsive" />
" target="_blank" rel="nofollow">
" target="_blank">
" class="img-responsive" />
作者:
ptoyhawinf
(沉睡的毛利小五郎)
2017-08-05 04:14:00
謝hoho8大的回應,但green_border的所在td會隨著設備狀況改變而改變。所以我需要select .green_border後,再抓前後對映的td[rowspan="2"]的值,應該不能用硬拆的?
作者:
hoho8
(hoho)
2017-08-05 06:15:00
所以綠燈會在 a0~d3 這4x4空間中亮起一個
" target="_blank" rel="nofollow">
亮b2,就取b2 AB ab4......亮c1就取 c1 CD cb4,這樣?cb4 →cd4
作者:
ntumath
(math mad)
2017-08-05 07:24:00
" target="_blank">
" class="img-responsive" />
" target="_blank" rel="nofollow">
" target="_blank">
" class="img-responsive" />
你要的是這樣的嗎?這取決於表格的相對位置,順便附上code,可以看你怎麼改
https://goo.gl/F5o3EN
作者:
s860134
(s860134)
2017-08-05 18:19:00
xpath 可以用 .. 取得上一層,這是你要的嗎?
作者:
ptoyhawinf
(沉睡的毛利小五郎)
2017-08-06 02:50:00
謝謝ntumath的指導,原來是要用previous_siblings解決
繼續閱讀
Re: [問題] Django {% csrf_token %}
djshen
[問題] 關於用函數return 字典問題
kkagt
[問題] 用beautifulsoup抓網頁中的表格
cawaiilulu
[問題]PyCharm無法顯示中文的問題
schedule6666
Re: [問題] scikit-learn模型訓練績效
backprog
[問題] Django的ajax問題
ShiaoJW
[徵才] 研究助理_利用工程科技減少路殺拯救石虎
lockq
[問題] 使用Python寫web的好公司?
bubbleking
Re: [問題] 如何將list,string 轉成個別的tuple元素(已解決)
angleevil
[問題] 如何將list,string 轉成個別的tuple元素(已解決)
angleevil
Links
booklink
Contact Us: admin [ a t ] ucptt.com