2024年Python最全Python爬虫实战:爬取股票信息_python 获取a股所有代码(1)

doc = PyQuery(r.text)
list = []
# 获取所有 section 中 a 节点,并进行迭代
for i in doc('.stockTable a').items():
    try:
        href = i.attr.href
        list.append(re.findall(r"\d{6}", href)[0])
    except:
        continue
list = [item.lower() for item in list]  # 将爬取信息转换小写
return list

将上面的链接当做参数传入,大家可以自己运行下看下结果,小编这里就不贴结果了,有点长。。。


#### 获取详情数据


详情的数据看起来好像是在页面上的,但是,实际上并不在,实际最终获取数据的地方并不是页面,而是一个数据接口。



http://qd.10jqka.com.cn/quote.php?cate=real&type=stock&callback=showStockDate&return=json&code=000001


至于是怎么找出来,小编这次就不说,还是希望各位想学爬虫的同学能自己动动手,去寻找一下,多找几次,自然就摸到门路了。


现在数据接口有了,我们先看下返回的数据吧:



showStockDate({“info”:{“000001”:{“name”:“\u5e73\u5b89\u94f6\u884c”}},“data”:{“000001”:{“10”:“16.13”,“8”:“16.14”,“9”:“15.87”,“13”:“78795234.00”,“19”:“1262802470.00”,“7”:“16.12”,“15”:“40225508.00”,“14”:“37528826.00”,“69”:“17.73”,“70”:“14.51”,“12”:“5”,“17”:“945400.00”,“264648”:“0.010”,“199112”:“0.062”,“1968584”:“0.406”,“2034120”:“9.939”,“1378761”:“16.026”,“526792”:“1.675”,“395720”:“-948073.000”,“461256”:“-39.763”,“3475914”:“313014790000.000”,“1771976”:“1.100”,“6”:“16.12”,“11”:“”}}})


很明显,这个结果并不是标准的 json 数据,但这个是 JSONP 返回的标准格式的数据,这里我们先处理下头尾,将它变成一个标准的 json 数据,再对照这页面的数据进行解析,最后将分析好的值写入数据库中。



def getStockInfo(list, stockInfoURL):
count = 0
for stock in list:
try:
url = stockInfoURL + stock
r = requests.get(url, headers=headers)
# 将获取到的数据封装进字典
dict1 = json.loads(r.text[14: int(len(r.text)) - 1])
print(dict1)

你可能感兴趣的:(程序员,python,爬虫,windows)