我是 Python 编程的新手,我想练习网页抓取。我最初的目的是根据他们的积分列出一些国家的前10名球员。但似乎我无法获得页面的整个源代码,因此我无法创建我的数据库。因此,当我在 Chrome 中单击“inspect\elements”时,我能够看到必要的数据,但是使用下面的代码,我无法获得所有数据。
from selenium import webdriver
url = 'https://aoe2.net/#aoe2de-leaderboard-rm-1v1'
driver = webdriver.Chrome()
code = driver.get(url)
source = driver.page_source
print(source)
你能告诉我,我做错了什么吗?
答案 0 :(得分:1)
尝试了这段代码,应该可以工作:
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
code = driver.get('https://aoe2.net/#aoe2de-leaderboard-rm-1v1')
sleep(5) #Since my internet is slow, if yours is fast enough then you can comment this line
d1 = {}
for i in range(1,11):
if i % 2 == 1:
val = 'odd'
else:
val = 'even'
a = driver.find_element_by_css_selector(f'tr.{val}:nth-child({i}) > td:nth-child(3) > a:nth-child(3)').text
d1[i] = a
print(d1)
用 chrome 替换 firefox,因为我没有安装 Chrome 驱动程序