Saya mencoba untuk mengotomatiskan pengunduhan data stok historis menggunakan python. URL yang saya coba buka merespons dengan file CSV, tetapi saya tidak dapat membuka menggunakan urllib2. Saya telah mencoba mengubah agen pengguna seperti yang ditentukan dalam beberapa pertanyaan sebelumnya, saya bahkan mencoba menerima cookie tanggapan, tidak berhasil. Bisakah Anda membantu.
Catatan: Metode yang sama berfungsi untuk yahoo Finance.
Kode:
import urllib2,cookielib
site= "http://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/getHistoricalData.jsp?symbol=JPASSOCIAT&fromDate=1-JAN-2012&toDate=1-AUG-2012&datePeriod=unselected&hiddDwnld=true"
hdr = {'User-Agent':'Mozilla/5.0'}
req = urllib2.Request(site,headers=hdr)
page = urllib2.urlopen(req)
Kesalahan
File "C: \ Python27 \ lib \ urllib2.py", baris 527, di http_error_default angkat HTTPError (req.get_full_url (), kode, msg, hdrs, fp) urllib2.HTTPError: HTTP Error 403: Forbidden
Terima kasih atas bantuannya
Jawaban:
Dengan menambahkan beberapa tajuk lagi saya bisa mendapatkan data:
Sebenarnya, ini berfungsi hanya dengan satu tajuk tambahan ini:
sumber
Ini akan bekerja dengan Python 3
sumber
Situs web NSE telah berubah dan skrip lama semi-optimal untuk situs web saat ini. Cuplikan ini dapat mengumpulkan detail keamanan harian. Rincian termasuk simbol, jenis keamanan, penutupan sebelumnya, harga terbuka, harga tinggi, harga rendah, harga rata-rata, kuantitas yang diperdagangkan, omset, jumlah perdagangan, jumlah yang dapat dikirim dan rasio persentase yang dikirim vs yang diperdagangkan. Ini dengan mudah disajikan sebagai daftar bentuk kamus.
Versi Python 3.X dengan permintaan dan BeautifulSoup
Selain itu, ini relatif modular dan potongan yang siap digunakan.
sumber