Ich habe Python-Skript geschrieben, um Daten von http://www.cricbuzz.com/cricket-stats/icc-rankings/batsmen-rankings zu kratzen Es ist eine Liste von 100 Spielern und ich kratzte erfolgreich diese Daten. Das Problem ist, wenn ich Script statt Scraping Daten nur ein einziges Mal scrapped die gleichen Daten 3 mal.Ich möchte Daten mit Python-Skript scratzen
<div class="cb-col cb-col-100 cb-font-14 cb-lst-itm text-center">
<div class="cb-col cb-col-16 cb-rank-tbl cb-font-16">1</div>
<div class="cb-col cb-col-50 cb-lst-itm-sm text-left">
<div class="cb-col cb-col-33">
<div class="cb-col cb-col-50">
<span class=" cb-ico" style="position:absolute;"></span> –
</div>
<div class="cb-col cb-col-50">
<img src="http://i.cricketcb.com/i/stats/fw/50x50/img/faceImages/2250.jpg" class="img-responsive cb-rank-plyr-img">
</div>
</div>
<div class="cb-col cb-col-67 cb-rank-plyr">
<a class="text-hvr-underline text-bold cb-font-16" href="/profiles/2250/steven-smith" title="Steven Smith's Profile">Steven Smith</a>
<div class="cb-font-12 text-gray">AUSTRALIA</div>
</div>
</div>
<div class="cb-col cb-col-17 cb-rank-tbl">906</div>
<div class="cb-col cb-col-17 cb-rank-tbl">1</div>
</div>
Und hier ist Python-Skript, das ich Schrott jeder Spieler Daten schreiben.
import sys,requests,csv,io
from bs4 import BeautifulSoup
from urllib.parse import urljoin
url = "http://www.cricbuzz.com/cricket-stats/icc-rankings/batsmen-rankings"
r = requests.get(url)
r.content
soup = BeautifulSoup(r.content, "html.parser")
maindiv = soup.find_all("div", {"class": "text-center"})
for div in maindiv:
\t print(div.text)
sondern einmal die Daten von Schaben, kratzt es die gleichen Daten 3 mal.
Wo kann ich Änderungen vornehmen, um Daten nur einmal zu erhalten?
ja es hat den Trick und jetzt mein Skript sieht gut aus :) –
@hrmalik, keine Sorgen, habe ich hinzugefügt, wie die Daten in ein besser nutzbares Format zu trennen. –
Ich nehme an, die gleiche Aufgabe zu tun, aber ich konnte keinen Weg finden, Daten wie komma-getrennte Werte zu machen, aber du bist einfach nur das Ziel mit deinem Trick exzellent: * –