[英]Scraping Table using Python and Selenium
我正在嘗試使用python抓取下表。 嘗試拉動html標簽來找到元素id_dt1_NGY00 ,依此類推,但是一旦頁面被填充后就找不到它,所以有人告訴我使用Selenium並設法抓取了一些數據。
https://www.insidefutures.com/markets/data.php?page=quote&sym=ng&x=13&y=8
數字每10分鍾更新一次,因此該網站是動態的。 在下面使用了以下代碼,但是它以線性格式而不是可以以表格形式顯示為行和列的格式打印所有內容。 以下包括示例輸出的兩個部分
Contract
Last
Change
Open
High
Low
Volume
Prev. Stl.
Time
Links
21年5月(NGK21)
2.550s
+0.006
2.550
2.550
2.550
1
2.544
05/21/18
Q / C / O
21年6月(NGM21)
2.576s
+0.006
0.000
2.576
2.576
0
2.570
05/21/18
Q / C / O
以下代碼從bs4導入時間從selenium導入webdriver將pandas作為pd導入BeautifulSoup
瀏覽器= webdriver.Chrome(executable_path =“ C:\\ Users \\ siddk \\ PycharmProjects \\ WebSraping \\ venv \\ selenium \\ webdriver \\ chromedriver.exe”)
browser.get(“ https://www.insidefutures.com/markets/data.php?page=quote&sym=ng&x=14&y=16 ”)
html = browser.page_source湯= BeautifulSoup(html,'html.parser')
在th_tags中為th的th_tags = soup.find_all('tr'):打印(th.get_text())
我想在熊貓中提取此數據並每天分析平均值等。 請幫忙。 我已經用自己的力量來進行多次迭代編碼。
嘗試使用以下腳本獲取表格數據。 有必要找到包含相同表但不會動態生成的正確URL ,以便無需使用任何瀏覽器模擬器即可進行操作。
搏一搏:
from bs4 import BeautifulSoup
import requests
url = "https://shared.websol.barchart.com/quotes/quote.php?page=quote&sym=ng&x=13&y=8&domain=if&display_ice=1&enabled_ice_exchanges=&tz=0&ed=0"
res = requests.get(url)
soup = BeautifulSoup(res.text,"lxml")
for tr in soup.find(class_="bcQuoteTable").find_all("tr"):
data = [item.get_text(strip=True) for item in tr.find_all(["th","td"])]
print(data)
騷動就像:
['Contract', 'Last', 'Change', 'Open', 'High', 'Low', 'Volume', 'Prev. Stl.', 'Time', 'Links']
['Cash (NGY00)', '2.770s', '+0.010', '0.000', '2.770', '2.770', '0', '2.760', '05/21/18', 'Q/C/O']
["Jun \\'18 (NGM18)", '2.901', '-0.007', '2.902', '2.903', '2.899', '138', '2.908', '17:11', 'Q/C/O']
["Jul \\'18 (NGN18)", '2.927', '-0.009', '2.928', '2.930', '2.926', '91', '2.936', '17:11', 'Q/C/O']
["Aug \\'18 (NGQ18)", '2.944', '-0.008', '2.945', '2.947', '2.944', '42', '2.952', '17:10', 'Q/C/O']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.