IP代理软件,http代理,API提取-黑洞HTTP

黑洞HTTP

您的位置: 首页 > 新闻资讯 > HTTP代理 > 正文

代理ip:3步教你用网络爬虫爬取股票数据

发布时间:2019年03月18日 来源:互联网

人工智能时代,大数据的获取至关重要,利用网络爬虫获取数据是当前最有效的手段。爬虫本质上就是代替人工操作访问网站,自动找到目标数据,并获取目标数据的过程。今天不谈任何协议结构,只通过结合爬取股票数据的代码介绍最基本的爬虫实现,力求让略有python基础的爱好者有一个直观印象。


任务:爬取东方财富网上以6开头(比如浦发银行600000)的股票数据(最高价、换手率、成交量和成交额)。首先在东方财富网(http://quote.eastmoney.com/stocklist.html)获取全部股票代码列表,然后访问百度股市通(http://gupiao.baidu.com/stock/+股票代码)获取具体数据。


第一步,访问网站,核心函数html=requests.get(url),url是访问链接,返回值html是目标网页源码的全部数据。这里的返回值与通常的网站界面不一样,网站界面的全部显示数据都在源码中有详细记录。点击网页右键查看源代码即可看到。


代理ip:3步教你用网络爬虫爬取股票数据


部分网页源码


第二步,从第一步获取的网页源码数据找到我们需要的目标数据,网页源码按照一定的格式标签排列,通过标签访问目标数据,这个过程称为数据解析和查找。目标函数


解析函数soup = BeautifulSoup ( html , 'html.parser' )


查找函数 find() 或者find_all()或者利用正则表达式对字符串进行匹配查找。


第三步,按照一定格式进行数据存储。可直接存储到txt文件即可。程序运行后部分结果数据如下图


代理ip:3步教你用网络爬虫爬取股票数据

部分结果数据


Python3.5 实现代码如下:


from bs4 import BeautifulSoup

import traceback

import re

import time

import requests

def GetHTMLSource(url): # 得到目标网页源码

 try:

 r=requests.get(url)

 r.raise_for_status ()

 r.encoding = r.apparent_encoding

 return r.text

 except:

 print ( "异常" )

 return ""

def SetFileName():

 dirname = time.strftime ( '%Y%m%d' , time.localtime ( time.time () ) ) #获取当前日期

 dirname += 'sh'

 return dirname

def getStockList(lst , stock_list_url): # 获得东方财富网上以sh6开头的股票代码

 html = GetHTMLSource ( stock_list_url )

 soupdata = BeautifulSoup ( html , 'html.parser' )

 a = soupdata.find_all ( 'a' ) # 用find_all方法遍历所有'a'标签,并取出在'a'标签里面的’href’数据

 for i in a:

 try:

 href = i.attrs[ 'href' ]

 lst.append ( re.findall ( r"sh6d{5}" , href )[ 0 ] ) # 匹配sh6开头的股票

 except:

 continue

def getStockInfo(lst , stock_info_url , fpath):

 ndate = time.strftime ( '%Y%m%d' , time.localtime ( time.time () ) )

 for stock in lst:

 url = stock_info_url + stock + '.html' # 具体单只股票的url

 html = GetHTMLSource ( url )

 try:

 if html == "":

 continue

 infoDict = {}

 soup = BeautifulSoup ( html , 'html.parser' )

 stockInfo = soup.find ( 'div' , attrs={'class': 'stock-bets'} )

 if stockInfo == None:

 continue

 keyData = stockInfo.find_all ( 'dt' )

 valueData = stockInfo.find_all ( 'dd' )

 inp = stock + "," + ndate + ","

 for i in range ( len ( keyData ) ):

 key = keyData[ i ].text

 val = valueData[ i ].text

 infoDict[ key ] = val

 inp += infoDict[ '最高' ] + "," + infoDict[ '换手率' ] + "," + infoDict[ '成交量' ] + "," + infoDict[ '成交额' ] + "

"

 with open ( fpath , 'a' , encoding='utf-8' ) as f:

 f.write ( inp )

 except:

 traceback.print_exc ()

 continue

def main():

 stock_name_url = 'http://quote.eastmoney.com/stocklist.html'

 stock_data_url = 'http://gupiao.baidu.com/stock/'

 output_file = './' + SetFileName () + '.txt' # 输出文件的文件名,路径在默认在项目文件夹下

 slist = [ ]

 getStockList ( slist , stock_name_url ) #获取股票名称

 getStockInfo ( slist , stock_data_url , output_file ) #根据股票名称获取数据,保存到output_file文件中

main ()


黑洞http:是企业级http服务提供商,大数据采集服务服务提供商,我们拥有高品质爬虫代理,遍布全国200+城市服务器,从容应对海量IP需求,我们从不吝惜产品质量,为确保您获得最佳体验,我们选择与国内最值得信赖的运营服务商进行深度合作,提供更快,更可靠的服务。


相关文章内容简介

1 代理ip:3步教你用网络爬虫爬取股票数据

人工智能时代,大数据的获取至关重要,利用网络爬虫获取数据是当前最有效的手段。爬虫本质上就是代替人工操作访问网站,自动找到目标数据,并获取目标数据的过程。今天不谈任何协议结构,只通过结合爬取股票数据的代码介绍最基本的爬虫实现,力求让略有python基础的爱好者有一个直观印象。任务:爬取东方财富网上以6开头(比如浦发银行600000)的股票数据(最高价、换手率、成交量和成交额)。首先在东方财富网(http://quote.eastmoney.com/stocklist.html)获取全部股票代码列表,然后访问百度股市通(http://gupiao.baidu.com/stock/+股票代码)获取具体数据。第一步,访问网站,核心函数html=requests.get(url),url是访问链接,返回值html是目标网页源码的全部数据。这里的返回值与通常的网站界面不一样,网站界面的全部显示数据都在 [阅读全文]

热门标签

最新标签

推荐阅读

  1. 15

    2019-05

    代理IP软件的发展如何?

    自1998年中国产生第一笔互联网交易以来,中国电商事业蓬勃发展,如今2017天猫购物狂欢节再创新高,截止11月11日13:09分,天猫交易额达到1207亿元,打破了去年双十一全天交易额记录。巨额数字

  2. 23

    2019-03

    企业爬虫一般通过动态代理ip获取哪些信息?

    随着互联网的飞速发展,各行各业都逐渐应用了大数据,通过数据的变化,可以知道行业发展情况,并做出调整,那么企业利用代理ip让爬虫采集什么数据?毕竟数据并不一定都能产生价值的,

  3. 31

    2019-10

    爬虫必须用高匿名代理ip

    不管是个人还是企业,爬取数据就必须试用爬虫,现在很多企业都要通过大数据来分析行情,所以爬虫是主要的途径。在爬虫工作时,由于访问频率等问题,会被爬取网站封锁IP,就要通过代理I

  4. 31

    2019-05

    为什么使用了IP代理服务器软件还被封?

    有朋友来问我,为什么我用了黑洞HTTP的IP代理服务器软件还是被封了。他很纳闷,正是因为IP被封才来买IP代理服务器软件的,没想到还是被封。

  5. 04

    2019-11

    代理ip如何群发邮件?

    突破限制和账号被封,很多网络推广,网站推广工作使用代理ip来完成邮件群发的工作,动态代理ip,一个不固定的代理ip,隐藏本地真实ip,规避对方的检测,高匿稳定安全,有些用户购买了代

  6. 04

    2019-09

    金融行业大数据中使用代理IP有什么用?

    现如今各个行业其实都跟互联网有着非常密切的联系,那金融行业相信大家都不会陌生,而现在的金融行业它都已经逐渐的和互联网相连接在一起,目前的金融行业经常打交道的文化就是数字文