首页 > 其他分享 >获取XXXX个股前十大股东数据-03

获取XXXX个股前十大股东数据-03

时间:2024-02-28 18:33:43浏览次数:24  
标签:03 XXXX list 获取 shareholder obj utf my

# !/usr/bin/env python
# -*- coding:utf-8 -*-

"""
# File       : XXXX.py
# Time       :2023/8/18 11:38
# Author     :lrtao2010
# version    :python 3.10.1
# Description:获取XXXX个股前十大股东
"""

#导入模块
import requests #下载网页
import bs4      #beautifulsoup4  解析网页
import time
import random

#自定义请求头
my_headers = {
    'Accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    'Host': 'XXXX.XXXX.com',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}

#生成股票代码列表
my_code_list = []
with open("./shuju/XXXX.txt",encoding='utf-8')as f:
    for i in f.readlines():
        my_code_list.append(i.strip())
#print(my_code_list)
#主程序
for my_list in my_code_list:
    print(my_list)
    page_obj = requests.get(f"http://XXXX.XXXX.com//?XXXX?XXXX={my_list}",headers=my_headers,timeout=(30,30))
    #print(page_obj.text)

    bs4_obj = bs4.BeautifulSoup(page_obj.text,"lxml")
    shareholder_eles = bs4_obj.find_all("tr",attrs={"height":"25"})

    shareholder_num = 1
    shareholder_list = []
    shareholder_set = ()
    for eles in shareholder_eles:
        if shareholder_num <= 10:
            shareholder = eles.find("a", attrs={"class": "anews2"})
            if shareholder != None:
                shareholder_list.append(shareholder.text[0:2])
                shareholder_num += 1
    shareholder_set = set(shareholder_list)
    set_list_diff = len(shareholder_list) - len(shareholder_set)
    if set_list_diff >= 3:
        with open("./shuju/shareholder-4.txt", 'a+',encoding='utf-8')as s_f:
           s_f.writelines(f"{my_list}" + "\n")
    elif set_list_diff >= 2:
        with open("./shuju/shareholder-3.txt", 'a+',encoding='utf-8')as s_f:
           s_f.writelines(f"{my_list}" + "\n")
    elif set_list_diff >= 1:
        with open("./shuju/shareholder-2.txt", 'a+',encoding='utf-8')as s_f:
           s_f.writelines(f"{my_list}" + "\n")
    else :
        with open("./shuju/shareholder.txt", 'a+',encoding='utf-8')as s_f:
           s_f.writelines(f"{my_list}" + "\n")
    time.sleep(random.randint(1,2))

 

标签:03,XXXX,list,获取,shareholder,obj,utf,my
From: https://www.cnblogs.com/lrtao2010/p/18041407

相关文章

  • 分类处理获取到的数据
    #!/usr/bin/envpython#-*-coding:utf-8-*-"""#File:XXXXsjfl.py#Time:2023/9/120:15#Author:lrtao2010#version:python3.10.1#Description:分类处理获取到的数据"""file_name='./shuju/sharehol......
  • 解决Prettier格式化使得''单引号自动变为""双引号 / 末尾是否加分号
    1.问题1.单引号/双引号选择问题在编写JavaScript程序过程中,代码规范要求使用''单引号引起字符串等等值,但是由于Prettier默认是双引号,导致不规范2.末尾是否加分号取决于个人采用的规范,我这里是选择加上分号;2.解决都是在setting.json中进行修改,如何打开它呢我们在设置中的......
  • 获取日期
    function输出当前日期和时间(){constnow=newDate();constyear=now.getFullYear();//年constmonth=now.getMonth()+1;//月份(0-11,加1得到1-12)constday=now.getDate();//日期consthour=now.getHours();//小时(0-23)......
  • 反射获取注解,框架的基础
        packageaaa;importjava.lang.annotation.*;importjava.lang.reflect.Field;publicclasstest{publicstaticvoidmain(String[]args)throwsClassNotFoundException{Class<?>u1=Class.forName("aaa.User");......
  • ABC303 G 题解
    区间DP。设\(f_{l,r}\)表示只考虑\([l,r]\),先手得分减后手得分的最大值(并不关心谁是先手谁是后手),区间长度\(len=r-l+1\)。然后对三种情况分别讨论:使用操作一,此时取掉左/右端点的部分先手后手互换,对答案的贡献为\(\max(a_l-f_{l+1,r},a_r-f_{l,r-1})\)。使用操作二,继......
  • 2.03
    前我们的查询语句也要进行修改,这里使用的时模糊查询,因为我们传入的是具体某年某月,我们要根据这个来输出账本中有的所有在这个月中的记录。先在这个页面中取出这个值Intentintent=getIntent();month11=intent.getStringExtra("date");然后查询SQLiteDatabase......
  • 203. 移除链表元素C
    写了个递归/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNode*delect(structListNode*head,intx){if(!head)returnNULL;if(head->val==x){structListNode*......
  • cf1303g-solution
    CF1303GSolutionlink\(k\)个数\(a_i\)的前缀和的和就是\(\displaystyle\sum_{i=1}^k(k-i+1)a_i\)。这个题可以考虑换一下\(u,v\),那么式子就变成了\(\displaystyle\sum_{i=1}^kia_i\)。注意到要统计树上路径的最值,考虑点分治。考虑上面的式子从\(j\)处断开,那么式子变......
  • 解决HttpServletRequest调用getInputStream()方法读取参数只能获取一次问题
    1、问题描述由于后端接口获取前端传过的参数是通过HttpServletRequest接收获取的。现有一需求需要在接口调用之前拦截接口进行业务处理。在拦截类中调用getInputStream()获取参数之后,在接口方法里获取参数为空。2、解决方法自定义一个过滤器过滤所有请求,使用HttpServletRequest......
  • CF1034E Little C Loves 3 III 题解
    这道题与P6097【模板】子集卷积基本相同,但是每个元素的值属于\([0,3]\),且\(n\le21\),时限\(\rm1s\)。在做P6097这道题的时候,我们多开了一维用来记录二进制下\(1\)的个数。但是这道题每个元素的值只属于\([0,3]\),我们可以用一种十分巧妙的方法:我们设\(f(x)\)表示\(......