python - 用urllib抓取網頁上的下載鏈接,目標文件是xls形式,但發現抓下來的xls是空表,里面只有一句報錯信息,求幫助。
問題描述
想用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
![css3 - [CSS] 動畫效果 3D翻轉bug](http://www.aoyou183.cn/attached/image/news/202304/110831f073.png)