suchen

Heim  >  Fragen und Antworten  >  Hauptteil

python – Verwenden Sie urllib, um den Download-Link auf der Webseite abzurufen. Die Zieldatei liegt im XLS-Format vor, aber ich habe festgestellt, dass es sich bei der erfassten XLS-Datei um eine leere Tabelle mit nur einer Fehlermeldung handelt.

Ich möchte urllib verwenden, um den XLS-Download-Link der Aktienliste der Shanghai Stock Exchange abzurufen, wie im kleinen roten Feld unten gezeigt:

Ich habe festgestellt, dass die erfassten XLS nur eine Fehlermeldung meldeten:

Wie kann ich die XLS mit Inhalten erfassen?

Der Code lautet wie folgt

from urllib import request
from datetime import datetime

# -*- coding:utf-8 -*-

url = 'http://query.sse.com.cn/security/stock/downloadStockListFile.do?' \
      'csrcCode=&stockCode=&areaName=&stockType=1'

myheaders = [('User - Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13'
                              ' (KHTML, like Gecko) Version/3.1 Safari/525.13'),]

opener = request.build_opener()
opener.addheaders = myheaders
request.install_opener(opener)

local = "/Users/Mty/Downloads/data/" + str(datetime.now().date()) + " .xls"

request.urlretrieve(url, local)
阿神阿神2751 Tage vor712

Antworte allen(2)Ich werde antworten

  • 黄舟

    黄舟2017-05-18 10:48:56

    可以在标红线的url上看到返回的公司信息,剩下的就是模拟浏览器请求这个url了,request header中的refer一定不能省略,不然会报403

    记住要模拟 refer 这一项的值。

    http://blog.csdn.net/ssshen14...
    这个是已有的解决方案

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-18 10:48:56

    查看cookie,referer

    Antwort
    0
  • StornierenAntwort