Python crawler 04—dynamic webpage (ranking of nft project transaction data)

Use the selenium library to automatically operate the browser, open the webpage, etc., obtain the corresponding elements through find_elements and other methods, and extract the required text. The code is as follows:

from selenium import webdriver
import time

drvier = webdriver.Chrome()

drvier.get('https://dappradar.com/nft/collections')
time.sleep(5)
# 通过css选择器获取项目名称元素,注意css中有空格则必须选择find——elements方法
names = drvier.find_elements_by_css_selector('[class="sc-fvhGYg kHEClt nft-name-link"]')
print(len(names))
name = []
for i in range(len(names)):
    name.append(names[i].text)
print(name)

# 通过css选择器获取项目交易量元素
volums = drvier.find_elements_by_css_selector('[class="sc-GTWni eimOQt"]')
print(len(volums))
volum = []
for i in range(len(volums)):
    volum.append(volums[i].text)
print(volum)

# 通过css选择器获取项目交易量增长元素,css选择器使用了子元素获取方式
raises = drvier.find_elements_by_css_selector('div.sc-fbNXWD.iFMyOV.rankings-column.rankings-column__nft-volume > div:nth-child(2)')
print(len(raises))
rais = []
for i in range(len(raises)):
    rais.append(raises[i].text)
print(rais)

# 将名称、交易量、增长率三类数据汇总后输出
results = []

for i in range(len(name)):
    # volum元素中有其它冗余数据,选取3*i个即可
    results.append([name[i],volum[3*i],rais[i]])

print('最终结果为:\n',results)

drvier.quit()

Guess you like

Origin blog.csdn.net/weixin_47930147/article/details/120846336