我想從 "在交易所交易的債券 "和 "場外交易 "中提取表格,并將其保存在Excel表格中。 我試圖用python來抓取資料(BS & requests),但我無法抓取資料(我不想使用Selenium)。有誰能指導我嗎? 我沒有得到任何錯誤,在Python終端沒有得到處理。 我認為終端被掛起了,因為我甚至沒有收到任何錯誤資訊。
。
import 請求
import pandas as pd
import os
from bs4 import BeautifulSoup as bs
url = "https://www1.nseindia.com/products/content/debt/corp_bonds/cbm_reporting_homepage.htm"/span>
#condition True[/span]。
#while condition:/span>
html = requests.get(url).content
page= requests.get(url)
soup= bs(page.text, 'lxml'/span>)
df_list = pd.read_html(html)
df = df_list[0] # 可以將0改為其他數字。
print(df)
uj5u.com熱心網友回復:
如果你看網路標簽,你會看到cbm_reporting_cbricsL.htm這就是你需要搜刮的東西。順便說一下,你還應該添加頭資訊,以便請求正常作業。請看這個主題中的詳細解釋:
import requests
import pandas as pd
from bs4 import BeautifulSoup
res = requests.get(
'https://www1.nseindia.com/products/dynaContent/debt/corp_bonds/htms/cbm_reporting_cbricsL.htm',
headers={"User-Agent": "Mozilla/5.0 (X11; CrOS x86_64 12871.102.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"} 。
)
soup = BeautifulSoup(res.text, 'lxml'/span>)
raw_columns = [row.find_all('td') for row in soup.find_all('tr') ]
#前3個專案是假的。
df = pd.DataFrame.from_records(raw_columns[3:] )
結果將是:
0 [INE001A07TA7] [HOUSING DEVELOPMENT FINANCE CORPORATION LTD S... [100.0030] [4.7082] [16] [[ 168000.00] ] [100.0000] [4.7091]
1 [INE134E07AP6] [ POWER FINANCE CORPORATION LTD. Tri Srv CatIII... [100.8500] [6.6934] [1] [1000。 00 ] [ 100.8500 ] [ 6.6934 ] 。
2 [INE020B08963] [RURAL ELECTRIFICATION CORPORATION LIMITED SR-... [107.6835] [5.9200] [1] [ 1500。 00 ] [ 107.6835 ] [ 5.9200 ] 。
3 [INE163N08131] [-] [ 104.2195] [ 6. 6200] [1] [780.00] [104.2195] [6.6200]
4 [INE540P07343] [-] [ 104.3408] [ 9. 3603] [6] [[1110.00] ] [104.2640] [9.3800]
... ...... ...... ...... ...... ......
93 [INE377Y07250] [BAJAJ HOUSING FINANCE LIMITED SR 27 5.69 NCD ... [100.0300] [5.6845] [1] [9000。 00] [ 100.0300] [ 5.6845]
94 [INE115A07ML7] [LIC HOUSING FINANCE LIMITED SRTR349OP-1 7.4NC... [105.0991] [5.5000] [1] [1000。 00] [ 105.0991] [ 5.5000]
95 [INE020B07HN3] [RURAL ELECTRIFICATION CORPORATION LIMITED SR-... [123.6000] [4.4400] [1] [10。 00] [ 123.6000] [ 4.4400]
96 [INE101A08070] [MAHINDRA AND MAHINDRA LIMITED 9.55 NCD 04JL63... [125.5000] [7.5218] [1] [820。 00] [ 125.5000] [ 7.5218]
97 [INE062A08215] [STATE BANK OF INDIA SERIES I 8.75 BD PERPETUA... [104.5304] [7.0000] [1] [10。 00] [ 104.5304] [ 7.0000] 。
uj5u.com熱心網友回復:
這是我的最終答案
。。
import 請求
import pandas as pd
headers = {"User-Agent": "Mozilla/5.0 (X11; CrOS x86_64 12871.102.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"}.
html = requests.get(
'https://www1.nseindia.com/products/dynaContent/debt/corp_bonds/htms/cbm_reporting_cbricsL.htm'/span>,
headers=頭檔案).內容
df_list = pd.read_html(html)
df = df_list[0]
print (df)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/309327.html
標籤:
上一篇:不運行第二個elseif陳述句-Powershell
下一篇:查看組合框內的資料庫列的內容
