Python光大证券中文云系统——爬取新浪财经新闻

本文介绍了使用Python2.7版本的光大证券中文云系统爬虫模块,针对股票论坛、研究报告和个股新闻的网页数据进行抓取。目前主要研究了个股新闻网页爬虫,虽然已实现与数据库的连接,但因原始代码在Python 3以上版本不兼容,需要环境配置和数据库模拟。代码阅读中发现GetSinaNews_pylucene.py运行成功,但未达到预期的存储效果,可能由于前端文件调用问题,尚未解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【任务目标】

调通光大证券中文云系统


【任务进度】

依据Github光大证券中文云系统开源的说明文档,应该是分爬虫模块、检索模块、统计模块、关键词频模块和关键词网络模块,是一个整体非常庞大的系统。现在的进度是,深入研究了爬虫模块。爬虫模块主要作用在于将股票论坛、个股新闻、研究报告三个网站的网页 数据通过网页解析的方式将文本内容爬下来,用于之后模块的文本挖掘。爬虫模块将爬到的文本数据以【日期 + 股票代码】为单位存至相应的TXT 文本文件当中,同时将文本文件所在的位置以及其他相关信息写入数据库。


对于每个数据源,都有一个独立的程序进行网页爬虫,他们分别是:
 GetGuba_pylucene.py     股票论坛网页爬虫  
 GetMbReport_pylucene.py  研究报告网页爬虫

 GetSinaNews_pylucene.py 个股新闻网页爬虫

重点目前研究了个股新闻网页爬虫。由于该系统已有一定的年代,采用python2.7版本编写,已经不能再python 3以上的版本中运行,因为语法有一定程度的变动,且该模块调用了很多包。所以前期花了很长的时间在配置环境上。其次,由于个股新闻网页爬虫与数据库直接相连,而原本光大证券的数据库肯定不可能给出,也无法再度连接。不得不去揣摩每张表的样貌,有哪些指标,从而在自己的数据库里去建表模拟,否则根本也无法运行。最后,要看懂代码,并对相关部分进行修改,调试,方便运行。

目前的进展是,我附上的GetSinaNews_pylucene.py这个代码已经可以直接运行,连接读取数据库也成功。但是无法出现Technical说明文档中,存储text文件的效果。经查证,似乎是调用的方式不对,GetSinaNews_pylucene.py似乎是后台文件被调用,要直接运行前端的某个文件,然而前端该文件似乎还调用了整个项目其他py代码,很复杂,因此搁置,未能调通。

具体的代码阅读理解,在注释中说明。

#coding=GBK
import Queue       #一个队列的包,与thread配合使用,多线程运行,保证速度
import threading   #多线程
#from pymmseg import mmseg    ##load seperateword tool
#mmseg.dict_load_defaults()   ##load seperateword default dictionary
#mmseg.dict_load_words('stockname.dic') ##load special stockname and stock numberdictionary  
import urllib2     #爬虫抓取网页内容常用的一个包,抓取下来后,利用包中自带的一系列函数,对内容进行类似文档一样的处理和调用
import time
import re
from bs4 import BeautifulSoup  #beatifulsoup一个爬虫解析网页的包
from urlparse import urljoin
import pyodbc                  #连接远程sql server数据库的包
#import MySQLdb
import string
import sys
reload(sys)
sys.setdefaultencoding('gbk')  #对中文字符进行的编码处理





originalURL="http://money.finance.sina.com.cn/corp/view/vCB_AllNewsStock.php?symbol=sh600418&Page=1"   #原始网页
 

queue = Queue.Queue()
out_queue = Queue.Queue()

hosts=[]

	
conn1=pyodbc.connect("DRIVER={SQL Server};SERVER=;DATABASE=;UID=;PWD=")  #连接数据库
cur=conn1.cursor()  #游标
cur.execute("select s_info_code,market from ggg") #where class like 'A%' and closedate is Null order by code
#读取所有股票编号及所在市场
result=cur.fetchall()
stockCodes=[]
for i in range(len(result)):
    if result[i][1]=='SZ'.encode('GBK'):
       stockCodes.append('sz'+result[i][0])
    if result[i][1]=='SH'.encode('GBK'):
       stockCodes.append('sh'+result[i][0])
#将股票代码,市场重新存入stockCodes中,有一个转码,不再是GBK了

for stock_code in stockCodes:
	oriURL=originalURL[:-15]+stock_code+originalURL[-7:]
	print oriURL
	#time.sleep(1)
	hosts.append([oriURL,stock_code[2:]])
	
#替换原始网址中的symbol=的值,从而形成新浪财经各个编码股票的网址 存入host格式是:网址+股票编码	

class ThreadUrl(threading.Thread):
    def __init__(self, queue, out_queue):
        threading.Thread.__init__(self)
        sel
Python爬虫基础案例通常从简单的网页抓取开始,比如爬取猫眼电影的数据。这里以`requests`库获取网页内容,然后用`BeautifulSoup`解析HTML,提取所需信息,并通过`pandas`将数据保存到Excel文件为例: 首先,你需要安装必要的库: ```bash pip install requests beautifulsoup4 pandas openpyxl ``` 下面是一个基本的Python爬虫脚本示例,假设我们要爬取电影名称、评分和主演信息: ```python import requests from bs4 import BeautifulSoup import pandas as pd # 爬取URL url = "https://maoyan.com/board/4" response = requests.get(url) # 解析HTML soup = BeautifulSoup(response.text, 'lxml') # 查找需要的数据元素,这里假设电影列表在class为'movie-list' movies_data = soup.find_all(class_='movie-list') # 创建空列表存储数据 data_list = [] # 遍历每部电影 for movie in movies_data: title = movie.find('a', class_='title').text rating = movie.find('i', class_='rating_num')['title'] stars = ', '.join(movie.find_all('span', class_='name')) # 将数据添加到列表 data_list.append([title, rating, stars]) # 将数据转换为DataFrame df_movies = pd.DataFrame(data_list, columns=['电影名称', '评分', '主演']) # 保存到Excel文件 filename = '猫眼电影数据.xlsx' df_movies.to_excel(filename, index=False) ``` 这个例子中,爬虫会定期访问指定的猫眼电影页面,提取每个电影的基本信息,然后将其保存到一个名为`猫眼电影数据.xlsx`的Excel文件中。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值