如何將表格數據以圖片的形式展現,主要目的則是為了防止爬蟲。
為了解決這個問題,剛開始選擇的是matplotlib.pyplot.table,但由於隨着數據的字段長短不一,且matplotlib實際落地的過程中存在許許多多的坑,最終還是沒有采用。
import numpy as np import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame(np.zeros((10,3)),columns=["c1","c2","c3"]) fig, axs = plt.subplots() clust_data = df.values collabel = df.columns axs.axis('tight') axs.axis('off') the_table = axs.table(cellText=clust_data,colLabels=collabel,loc='center') plt.show()
目前的解決方案:
1. 生成html table代碼
2. chrome 屏幕大小調整后截屏
尋尋覓覓到頭來發現pandas 有一個叫做to_html的方法,DataFrame數據流直接生成表單html。
截屏代碼:
from selenium import webdriver driver = webdriver.Chrome() driver.set_window_size(1000, 680) driver.get('file:///C:/Users/KC10/Desktop/data%20clearn/table.html') driver.save_screenshot('table.png') driver.quit()