您的位置:首页技术文章
文章详情页

python - 用urllib抓取网页上的下载链接,目标文件是xls形式,但发现抓下来的xls是空表,里面只有一句报错信息,求帮助。

【字号: 日期:2022-07-24 08:56:37浏览:38作者:猪猪

问题描述

想用urllib抓取上交所股票列表的xls下载链接,如下图红色小框:

python - 用urllib抓取网页上的下载链接,目标文件是xls形式,但发现抓下来的xls是空表,里面只有一句报错信息,求帮助。

发现抓下来的xls只有报错信息:

python - 用urllib抓取网页上的下载链接,目标文件是xls形式,但发现抓下来的xls是空表,里面只有一句报错信息,求帮助。

请问要怎样才能把有内容的xls抓下来?

代码如下

from urllib import requestfrom 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 = myheadersrequest.install_opener(opener)local = '/Users/Mty/Downloads/data/' + str(datetime.now().date()) + ' .xls'request.urlretrieve(url, local)

问题解答

回答1:

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

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

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

回答2:

查看cookie,referer

标签: Python 编程