废话不多说,直接上代码。
# --*--coding:utf-8--*--
from bs4 import BeautifulSoup
from urllib.request import urlopen, Request
import json
code = []
for k in range(51, 61):
uu ='http://13.push2.eastmoney.com/api/qt/clist/get?&pn=%s&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c' \
'27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:0+t:6,m:0+t:80,m:1+t:2,m:1+t:23&fields=f1,f2,f3,f4,' \
'f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,' \
'f152&_=1630170453581' % k
h = urlopen(uu)
b = BeautifulSoup(h,'lxml')
t = json.loads(b.text)['data']['diff']
for i in t:
code.append(i['f12'])
address ='http://quotes.money.163.com'
table_list = ['zcfzb', 'lrb', 'xjllb']
for i in code:
for j in table_list:
url ='http://quotes.money.163.com/f10/%s_%s.html' % (j, i)
print(url)
header = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Host': 'quotes.money.163.com',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) '
'Version/14.1.2 Safari/605.1.15',
'Accept-Language': 'zh-cn',
'Connection': 'keep-alive'
}
u = Request(url, headers=header)
html = urlopen(u)
soup = BeautifulSoup(html,'lxml')
div = soup.find_all('a', class_='download_link')
nurl = address + div[0].get('href')
nu = Request(nurl, headers=header)
nhtml = urlopen(nu)
bs = BeautifulSoup(nhtml,'lxml')
txt = bs.text.replace('--', '0')
excel = open('/Users/hefang/Desktop/gp/%s%s.csv' % (i, j), 'w', encoding='utf_8_sig').write(txt)
具体效果见下图:
感兴趣的话可以在微信公众号中搜索“数据处理和工作效率:Big_Data-",查看其他文章。