import requests  # 导入requests包
from bs4 import BeautifulSoup
from urllib import request
import re
import pymongomongo_client = pymongo.MongoClient('mongodb://localhost:27017/')
# 若没有Database 和Collection,则会自动创建
mongo_db = mongo_client['quant_01']
mongo_collection = mongo_db['EPS_Stock']
'''
Company name:', 'Net assets per share:', 'Earnings per share:', 'Net profit:', 'Net profit growth rate:',
'Net profit growth rate:', 'Operating income:', ' Total share capital: ', 'tradable shares:
'''headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3877.400 QQBrowser/10.8.4507.400'
}all_list = []
for i in range(3):# 同花顺下载数据Furl = 'http://stockpage.10jqka.com.cn/'allrul = ['600511', '600512', '600513', '600515']url = Furl + allrul[i]print(url)req = request.Request(url=url, headers=headers)rsp = request.urlopen(req)# print(rsp.read().decode('utf-8'))html = rsp.read().decode('utf-8')bf = BeautifulSoup(html, "html.parser")texts = bf.find_all('dl', class_='company_details')str_Result = str(texts)# print(str_Result)splitR = str_Result.splitlines()print(splitR)print(len(splitR))# "<dd.+?/dd>|<dt.+?/dt>"   "<dd.+?/dd>|<dt.+?/dt>"gm# print('+++++++++++++++++++++++++++++++++++++++++++')result = re.findall(r"<dd.+?/dd>|<dt.+?/dt>", str_Result, flags=0)# print(result)# print(len(result))num_list1 = []num_list2 = []for i in range(len(result)):if result[i].find('公司名称') > -1:num_list1.append(result[i])num_list2.append(result[i + 1])else:passif result[i].find('上市时间') > -1:num_list1.append(result[i])num_list2.append(result[i + 1])else:passif result[i].find('每股净资产') > -1:num_list1.append(result[i])num_list2.append(result[i + 1])else:passif result[i].find('每股收益') > -1:num_list1.append(result[i])num_list2.append(result[i + 1])else:passif result[i].find('净利润') > -1:num_list1.append(result[i])num_list2.append(result[i + 1])else:passif result[i].find('净利润增长率') > -1:num_list1.append(result[i])num_list2.append(result[i + 1])else:passif result[i].find('营业收入') > -1:num_list1.append(result[i])num_list2.append(result[i + 1])else:passif result[i].find('总股本') > -1:num_list1.append(result[i])num_list2.append(result[i + 1])else:passif result[i].find('流通股') > -1:num_list1.append(result[i])num_list2.append(result[i + 1])else:passprint('$$$$$$$$$$$$$$$$$$$$$$$$$')# print(num_list1)# print(len(num_list1))# Important_Books1 = []# for m in num_list1:#     Important_Books1.append(m[4:-5])## print(Important_Books1)# print(num_list2)# print(len(num_list2))# ['公司名称:', '每股净资产:', '每股收益:', '净利润:', '净利润增长率:', '净利润增长率:',# '营业收入:', '总股本:', '流通股:']Important_Books1 = ['Company_Name', 'Net_assets_per_share', 'EPS', 'Net_Profit', 'Net_Profit_Ratio', 'operating_revenue','total_share_capital', 'outstanding_shares']Important_Books2 = []for m in num_list2:Important_Books2.append(m[4:-5])print(Important_Books2)dict1 = dict(zip(Important_Books1, Important_Books2))# print(dict1)all_list.append(dict1)
'''        列表转字典
list1 = ['key1','key2','key3']
list2 = ['1','2','3']
dict(zip(list1,list2))
{'key1':'1','key2':'2','key3':'3'}
'''
print('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&')
print(all_list)
# mongo_collection.insert_many(all_list)

dddddddddddddd相关推荐

  1. 安全的交互通道 及 栈回塑检查与伪造

    第四章:安全的交互通道 消息钩子,Hook游戏消息处理过程,GetKeyState(),GetAsyncKeyState()和GetKeyBoardState()函数,进程间通信. 消息钩子:SetW ...

  2. 无法创建接口的实例_什么是接口?

    接口 接口概述 接口,是java语言中一种类型,是方法的集合,如果说 类的内部封装了成员变量,构造 方法,和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法,默认方法和静态方法 接口是对功能的 ...

  3. linux系统初级管理书,Linux系统管理基础--超级适合Linux新手的书

    liuyongqing 于 2012-11-15 11:53:18发表: 谢谢分享 liuyongqing 于 2012-11-15 11:53:11发表: 谢谢分享 liuyongqing 于 20 ...

  4. Qt实践| HTTP知识点-接入某图片验证码系统识别验证码

    目录 基本概念 代码与实例 基本概念 这里有一个查询余额的:https://blog.csdn.net/qq78442761/article/details/100096351 下面来看看官方API文 ...

  5. css中hover的妙用!!

    css 中有个属性为hover.当鼠标放上的时候,将其激活,可以实现类似于js的一些,譬如菜单等功能: 22.html文件: <link rel="stylesheet" t ...

  6. slotformatcombinations_用于确定无线通信系统中的时隙配置的方法和设备与流程

    相关申请的交叉引用本申请要求2018年5月11日提交的第62/670,553号美国临时专利申请的权益,所述临时专利申请的全部公开内容全文以引用的方式并入本文中.本公开大体上涉及无线通信网络,且更具体地 ...

  7. 1. 批处理常用符号详解:

    1. 批处理常用符号详解: -------------------------------------------- 1.@ 一般在它之后紧跟一条命令或一条语句,则此命令或语句本身在执行的时候不会显示 ...

  8. 【JavaScript】原生态兼容IE6的图片轮播

    <[Bootstrap]图片轮播组件Carousel>(点击打开链接)虽然做得很不错,但是由于只兼容到IE8,所以没有用的.其实原生态兼容IE6的图片轮播并没有想象中的那么难,网上的很多兼 ...

  9. 原来js可以这样用。类似51la.cnzz统计的js接口

    自己工作的时候遇到的一个要求,发现原来js和php结合竟然可以如此的强大. 张存超php技术博客 今天接到了一个任务,我们有个门户的网站,里面有好几个地区的医院,老板要让不同地区的人访问的时候,弹窗他 ...

最新文章

  1. 数字图像处理实验(16):PROJECT 06-03,Color Image Enhancement by Histogram Processing
  2. 7z001怎么解压在安卓手机上面_安卓手机能打开eif文件吗 手机怎么打开eip文件方法...
  3. 看完这篇,你应该知道什么是Linux了~
  4. SharePoint 2010新体验2 – Ribbon界面
  5. 机器学习实战--决策树算法
  6. 分布式集群架构场景解决方案学习笔记
  7. redis-数据类型一览
  8. 辨析ADKJVMJREJDKADT
  9. L1-046 整除光棍 (20 分)567
  10. 双指针 -- 验证回文串
  11. Unity 烘焙材质到单一贴图的脚本
  12. 制作VOC格式的数据集
  13. 计算机网络安全题库,2020年计算机网络安全与管理信息题库10月更新
  14. ThinkPad S2 安装deepin系统,安装rtl8821ce无线网卡驱动,适合deepin/ubuntu
  15. 携程实时大数据平台实践分享
  16. [LiteratureReview]A Collaborative Visual SLAM Framework for Service Robots
  17. Python | 基础学习(二)函数基础、非数字型变量(列表、元组、字典、字符串)、切片、for循环
  18. shell脚本之俄罗斯方块
  19. 为什么要用同花顺程序化交易接口?
  20. 面对工业4.0,我国工业企业的挑战与对策

热门文章

  1. 华信IT教育201611第一篇博客
  2. 关于v$process与v$sessionnbsp;o…
  3. sklearn中的数据集1 (toy_datasets)
  4. Python(网易云课堂1-20章)
  5. 【2023秋招】10月11日百度数据挖掘岗校招题目
  6. Homekit智能家居DIY一智能触摸面板开关
  7. grails3.3.0_受Grails启发的框架Griffon在0.9.5 RC2中进行了重大改造
  8. 四级英语口语模拟测试软件,cet4:2013年12月英语四级口语考试模拟试题
  9. 解决打开Chrome出现 输入密码以解锁您的登录密钥环
  10. Access数据库的使用