爬取雪球股票网站数据

目录

  • 1. 明确目标
  • 2. 开始写爬虫吧
  • 3. 效果

1. 明确目标

进入雪球官网的行情中心。
爬取雪球股票网站数据_第1张图片
这次我们要爬的就是排行里的沪A成交额。(当然会了这一个,其他的都一样爬)
爬取雪球股票网站数据_第2张图片

爬取雪球股票网站数据_第3张图片
上图就是我们要爬的数据,并且我们要利用一部分数据做可视化。

2. 开始写爬虫吧

首先确定是静态数据还是动态数据。
任选一个股票的名字,并在网页源代码中看是否可以查询到。
爬取雪球股票网站数据_第4张图片
查询不到,所以说它是动态展示的数据。
接下来我们找它们真正的url。
f12 打开开发者工具,并刷新页面。
爬取雪球股票网站数据_第5张图片
我们在network下的XHR找到了我们想要的数据,并在headers中找到了我们想请求的url。
想要的url链接
点击下一页,发现规律为每翻一页变动一次url里的page就行了,所以我们爬全部数据只要写个循环就行了。
代码如下:

# 导入库
import requests
import pprint
import csv
file = open('gp1.csv',mode = 'a',encoding='utf-8-sig',newline='')
csv_write = csv.DictWriter(file,fieldnames =['股票代码','股票名称','当前价','涨跌额','涨跌幅','年初至今',
                     '成交量','成交额','换手率','市盈率(TTM)','股息率','市值'] )
csv_write.writeheader() 
# 1.确定url地址
for page in range(1,53):
    print('========================正在抓取第{}页数据======================='.format(page))
    url = 'https://xueqiu.com/service/v5/stock/screener/quote/list?page={}&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha&_=1601340894691'.format(str(page))
    # 2.发送网络请求
    headers = {
     'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'}
    response = requests.get(url= url,headers = headers)
    json_data = response.json()
    #pprint.pprint(json_data) # 将json数据经过格式化处理
    # 3.数据解析
    data_list = json_data['data']['list']

    for data in data_list:
        data1 = data['symbol']
        data2 = data['name']
        data3 = data['current']
        data4 = data['chg']
        if data4:
            if float(data4) > 0 :
                data4 = '+' + str(data4)
            else:
                data4 = str(data4)
        data5 = str(data['percent']) + '%'
        data6 = str(data['current_year_percent']) + '%'
        data7 = data['volume']
        data8 = data['amount']
        data9 = str(data['turnover_rate']) + '%'
        data10 = data['pe_ttm']
        data11 = data['dividend_yield']
        if data11:
            data11 = str(data['dividend_yield'] ) + '%'
        else:
            data11 = None
        data12 = data['market_capital']

        print(data1,data2,data3,data4,data5,data6,data7,data8,data9,data10,data11,data12)
        # 4.将数据保存
        data_dict = {
     '股票代码':data1,'股票名称':data2,'当前价':data3,'涨跌额':data4,'涨跌幅':data5,'年初至今':data6,
                     '成交量':data7,'成交额':data8,'换手率':data9,'市盈率(TTM)':data10,'股息率':data11,'市值':data12}
        csv_write.writerow(data_dict)

3. 效果

效果如下:
爬取雪球股票网站数据_第6张图片

你可能感兴趣的:(爬虫专题,python,数据分析,编辑器,pycharm)