我造了一个蜘蛛来爬行一个单独的网站: www.docteur.ch/generalistes/generalistes_k_ag.html在
它使用以下格式对表的td进行爬网:
<table class="novip">
<tr class="novip">
<td class="novip-portrait-picture"
rowspan="5">
<a class="novip-portrait-picture"
href="/medecin/baumberger-hans-rudolf-aarau-5000-medecin.html">
<img class="novip-portrait-picture"
src="/customer_controlled/pictures/65903/portrait/65903.png"
alt="Pas d'image encore"
onError="portrait_m_image_failover(this)" />
</a>
</td>
<td class="novip-left">
<a class="novip-firmen-name"
href="/medecin/baumberger-hans-rudolf-aarau-5000-medecin.html"
target="_top">
Baumberger Hans Rudolf
</a>
</td>
<td class="novip-right"
width="25%">
<a class="novip"
href="/medecin/baumberger-hans-rudolf-aarau-5000-medecin.html"
target="_top">
rating info: <img class="novip-inforating"
src="/img/general/stars/stars3 "
alt="rating info"
width="70" height="14" align="bottom" border="0" />
</a>
</td>
</tr>
<tr class="novip">
<td class="novip-left">
Dr. med. Facharzt FMH für Allgemeine Innere Medizin
</td>
</tr>
<tr class="novip">
<td class="novip-left">
Bahnhofstrasse 92, 5000 Aarau
</td>
<td class="novip-right-telefon">
tél: 062 822 46 28
</td>
</tr>
<tr class="novip">
<td class="novip-left-email">
e-mail:
<a class="novip-left-send-message-button-inactive"
href="/eintrag/fr_keine_mitteilung_moeglich.html">
Envoyer un message
</a>
<a class="novip-left-make_appointment-button-inactive"
href="/eintrag/fr_kein_termin_moeglich.html">
prendre un rendez-vous
</a>
</td>
<td class="novip-right-fax">
fax: 062 822 35 20
</td>
</tr>
</table>
我只想用以下代码提取医生的个人姓名:
^{pr2}$我提取了名称,但是对于每个条目也有两个空字段,尽管页面的源代码中没有空td
[{"name": "\n Baumberger\u00a0Hans Rudolf\n "},
{"name": "not-found"},
{"name": "not-found"},
{"name": "not-found"},
{"name": "\n Bettschart\u00a0Robert\n "},
{"name": "not-found"},
{"name": "not-found"},
{"name": "not-found"},
....]
我的代码有什么问题?如何仅提取具有值的单元格?在
使用CSS选择器替代@Padraic的答案:
在破壳里:
这将得到所有名称:
它只返回467个名称:
^{pr2}$当您检查所有tr时会得到空结果,因此当您没有找到一个带有
class="novip-firmen-name"
的tr时,您将输出默认值。在如果我们拿前几张,你就能看到我们发生了什么:
如果只搜索具有
class="novip-firmen-name"
的锚定标记,则会得到您想要的结果:或者,您可以搜索具有锚定标记的tds,这些tds与您想要获得这些tds的类一起:
相关问题 更多 >
编程相关推荐