私は(選手プロフィールURLのplayer
一部に基づいて)CSS selectorを使用して、すべてのプレーヤーの要素を検索し、内部の最初の2つのスパンを見つけるだろう - 最初の1ランクになり、二 - ユーザ名:
for player in soup.select("#content a[href*="player/"]"):
rank, name = player.find_all("span")[:2]
print(rank.get_text(strip=True), name.get_text(strip=True))
そして、ここで私が実行しています完全なコードです:
import requests
from bs4 import BeautifulSoup
url = "http://csgo.99damage.de/de/edb/players"
response = requests.get(url, headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36"})
soup = BeautifulSoup(response.content, "html.parser")
for player in soup.select('#content a[href*="player/"]'):
rank, name = player.find_all("span")[:2]
print(rank.get_text(strip=True), name.get_text(strip=True))
プリント:
1. KRiMZ
2. olofmeister
3. JW
4. flusha
5. dennis
6. dev1ce
7. dupreeh
8. Xyp9x
9. Karrigan
10. cajunb
11. friberg
12. GeT_RiGhT
13. f0rest
14. Xizt
15. flamiE
16. GuardiaN
17. seized
18. Edward
19. Zeus
20. kioShiMa
21. pronax
22. Happy
23. NBK
他にどのようなコードを試しましたか? – n1c9