Ich bin ein Neuling in Python und Scrapy und ich muss eine Website vollständig mit Tabellen (fast 80 Tabellen) gebaut kratzen.Scrapy: Wie kratze ich einen Link in einer Tabelle mit Bedingungen
Die Struktur der Website ist so etwas wie dieses:
<table>
<tr>
<td class="header" colspan="2">something</td>
</tr>
</table>
<br/>
<table>
<tr>
<td class="header" colspan="2">something2</td>
</tr>
</table>
<br/>
<table>
<tr>
<td class="header" colspan="2">something3</td>
</tr>
</table>
Aber im Inneren eines von einer dieser Tabellen gibt es eine Liste der Mitglieder und ich brauche die Profilinformationen jedes Mitglieds zu extrahieren, aber jedes Profil ist variabel, so ändert sich die Tabelle mit ihren Informationen, abhängig von den Datenschutzeinstellungen.
Die Tabelle i kratzen müssen, ist so etwas, aber mit vielen Mitgliedern:
<table>
<tr>
<td colspan="4" class="header">members</td>
</tr>
<tr>
<td class="title">Name</td>
<td class="title">position</td>
<td class="title">hours</td>
<td class="title">observ</td>
</tr>
<tr>
<td class="c1">
1.- <a href="http://profiletype1" target="_blank">Homer Simpson</a>
</td>
<td class="c1">
safety inspector
</td>
<td class="c1">
10
</td>
<td class="c1">
Neglect his duties
</td>
</tr>
<table>
Dann schaute ich auf den Code, und ich bemerkte, dass es 2 Arten von Profilen und Anfragen mit XPath tun sich nicht kreuzen.
Dann ist die Frage, wie kann ich die Profilinformationen von jedem Mitglied extrahieren, unter Berücksichtigung, dass, wenn ich den Link öffne ich zwei verschiedene Arten von Profil finden kann. Ich glaube, ich einen Code benötigen, das so etwas wie diese
def parse(self, response):
if this xpath query doesn't work
try this one
Danke für Ihre Antwort, aber jetzt habe ich ein anderes Problem. –