Python之财富自由——天天基金数据爬取并导入excel(详细信息爬取)
一位泉州小哥近日喜提热搜“一万多买了1314只基金每只10块,买了好几天,第一次花钱花到手抽筋”
投资界有句名言,不要把鸡蛋全部放在一个篮子里,但你见过,有人装鸡蛋的篮子,比鸡蛋还多的吗?
那么怎么成为这样一个基金海王呢 ?
当然得从基金的信息获取筛选开始。
天天基金的基金页面就是个不错的选择
代码如下
#-*-coding:utf-8 -*-
#********************
#微信&电话:13248260503
# 证券开户 研报收集
# 代码交流 数据分析
# 脚本开发 投资推荐
#********************
import urllib.request
import requests
import re
import random
import time
from urllib.parse import urlencode
import pandas as pd #制表模块
from urllib.parse import urlparse
my_headers = ["Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14","Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)",'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11','Opera/9.25 (Windows NT 5.1; U; en)','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)','Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)','Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12','Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9',"Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chromium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7","Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0 "
]
headers = {'User-Agent':random.choice(my_headers)}
def get_page(url):#封装下载页面方法response = requests.get(url,headers=headers)if response.status_code == 200:return response.content.decode("utf-8")#应对乱码else:return '爬取失败!'def parse_html(html_content):pattern = re.compile('.*?fname fl.*?>(.*?)\D(\d+)\D</a>.*?单位净值.*?>(.*?)</span>.*?<span.*?>(.*?)</span>.*?基金类型:(.*?)</li>.*?管 理 人:.*?>(.*?)</a>.*?规 模</a>:((---)|(.*?)亿元).*?基金经理:.*?>(.*?)</a>', re.S)#(.*?fname fl.*?>(.*?)\D(\d+)\D</a>).*?ping.*?>(.*?)</span>.*?基金类型:(.*?)</li>.*?管 理 人:.*?>(.*?)</a>.*?规 模</a>:(.*?)亿元.*?基金经理:.*?>(.*?)</a>.*?手 续 费</a>:(.*?)<', re.S)result1 = re.findall(pattern, html_content)return result1
def parse_html1(html):pattern = re.compile('.*?allPages.*?(\d+)', re.S)result2 = re.findall(pattern, html)return result2
ex_name = input('表格名称:') +'.csv'
url = input('输入网址:')
result = urlparse(url)
url_parse = list(result) #元组转为列表
url_parse_fragment = url_parse[-1]
url_parse_fragment_l= url_parse_fragment.split(";")#将字符串转为列表
new_data_list =[]
for data in url_parse_fragment_l:data_1=re.split('(\w{2})',data,1)data_2=data_1new_data_list.append(data_2)
new_data_list_len = len(new_data_list)
new_dict = {}
for i in new_data_list:new_dict[i[1]] = i[2]
base_url = 'http://fund.eastmoney.com/data/FundGuideapi.aspx?'
new_url = base_url + urlencode(new_dict)
html = get_page(new_url)
rusult2 = parse_html1(html)
all_page =int(rusult2[0])
shuju = pd.DataFrame([], columns=[ '名称', '单位净值', '涨跌','基金类型','管理人','规模(亿元)','基金经理'])
for i in range(all_page):new_dict['pi']=str(i+1)print(new_dict)new_url = base_url + urlencode(new_dict)html_content = get_page(new_url)result1 = parse_html(html_content)print(result1)for item in result1:daima = '代码:'+item[1]mingcheng = item[0]jingzhi = item[2]zhangdie = item[3]leixing = item[4]guanli = item[5]guimo = item[7]+item[8]jingli = item[9]shuju.loc[daima,'名称'] = mingchengshuju.loc[daima,'单位净值'] = jingzhishuju.loc[daima,'涨跌'] = zhangdieshuju.loc[daima,'基金类型'] = leixingshuju.loc[daima,'管理人'] = guanlishuju.loc[daima,'规模(亿元)'] = guimoshuju.loc[daima,'基金经理'] = jingli
shuju.to_csv(ex_name, encoding='utf-8')
天天基金的详细信息页面是这个样子
可以先选择筛选条件进行筛选
然后复制网址
在运行程序中输入表格名称和复制的网址,得到下面的结果。
得到所有89只符合“互联网服务”条件的基金信息。
成品程序下载链接:https://pan.baidu.com/s/1xB0Rna5M4nhcyx7ZsVGmvA
提取码:ix33
当然代码更进一步优化还能获得更加详细的信息,比如这样
代码和成品脚本打包择机放出
有需要低佣开户的可以联系哟
国企券商 配置专业客户经理一对一服务。
微信:13248260503
Python之财富自由——天天基金数据爬取并导入excel(详细信息爬取)相关推荐
- 抖音短视频数据抓取实战系列(三)——Fiddler抓取抖音用户详细信息数据
抖音短视频数据抓取实战系列(三)--Fiddler抓取抖音用户详细信息数据 项目目录 1.抖音短视频数据抓取实战系列(〇)--前言 2.抖音短视频数据抓取实战系列(一)--模拟器的选择与设置 3.抖音 ...
- python爬取豌豆荚中的详细信息并存储到SQL Server中
买了本书<精通Python网络爬虫>,看完了第6章,我感觉我好像可以干点什么:学的不多,其中的笔记我放到了GitHub上:https://github.com/NSGUF/PythonLe ...
- python爬虫公众号_python爬虫_微信公众号推送信息爬取的实例
问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...
- python分布式(scrapy-redis)实现对房天下全国二手房与新房的信息爬取(偏小白,有源码有分析)
文章目录 Scrapy实现, 确定需求 进入分析 分析url 分析页面结构 代码 spiders(爬虫) items pipelines middlewares settings start Scra ...
- Python3 爬取携程网[2]: 爬取北京五星级酒店详细信息
目录 1. 需求分析 2. 实验环境 3. 具体实现 3.1 分析页面 3.2 请求 3.3 响应 3.3.1 BeautifulSoup提取标签信息 3.3.2 正则表达式提取字符串信息 3.3.3 ...
- 用Scrapy对豆瓣top250进行电影详细信息爬取
简述 为了练习简单的Pandas操作,我用Scrapy爬取了豆瓣Top250的电影信息.Top250页面展现的电影信息和具体电影页面所呈现的内容有些不同(比如演员信息),所以爬取总共用了两部分代码.此 ...
- 数据泵expdp/impdp导入导出详细说明
目录 1.数据泵导出expdp详细参数 2.数据泵导入impdp详细参数 3.数据泵作业参数详细说明 3.1 EXPDP命令行选项 3.1.1 ATTACH 3.1.2 CONTENT 3.1.3 D ...
- python爬虫和数据可视化论文_Python爬虫之小说信息爬取与数据可视化分析
一.小说数据的获取 获取的数据为起点中文网的小说推荐周榜的所有小说信息. 源代码对所有想要获取的数据都有注释. http://dxb.myzx.cn/grandmal/ # -*- coding: u ...
- Scrapy项目 - 数据简析 - 实现斗鱼直播网站信息爬取的爬虫设计
一.数据分析截图(weka数据分析截图 2-3个图,作业文字描述) 本次将所爬取的数据信息,如:房间数,直播类别和人气,导入Weka 3.7工具进行数据分析.有关本次的数据分析详情详见下图所示: ...
最新文章
- python练习---模拟sql
- Android网络项目课程笔记-----代码复用性
- 如何搭建一个好的数据指标体系?
- java quartz 触发_JavaEE进阶知识学习-----定时任务调度Quartz-2-触发器Trigger
- 如何从JFrog Artifactory下载资源到本地
- 集成学习与随机森林练习题
- Unity输入控制物体旋转和延迟缩放-课程作业
- python+matplotlib绘制南丁格尔玫瑰图
- 2018深信服java笔试题_深信服2018春招笔试题解
- 短信网关 php,php使用ICQ网关发送手机短信_PHP教程
- 复式记账php版,复式记账法下,账户间存在着( )。
- 我的见解之hibernate(八)
- 配置文件-Config库
- IDA7.0 MacOS报错Oops,IDA has almost crashed!解决方案
- 使用esm数据迁移报错“reason“:“Action/metadata line [1] contains an unknown parameter [_routing]
- 研究下身家1.28万亿的马斯克,只为浇灭你心中创业的小火苗
- C++四个数排序(从小到大)
- 百度网盘AI大赛-图像处理挑战赛:文档检测优化赛 Baseline
- checkbox多选框,radio单选框
- Java面试常见知识点总结