#python爬虫#爬取搜狐股票

爬取搜狐股票

完整程序

利用搜狐新闻的股票列表,构造url爬取信息

import requests
from bs4 import BeautifulSoup
import json
import csv

def getnum():
    html = requests.get("https://q.stock.sohu.com/cn/bk_3137.shtml")#获取想要的股票号码
    html.raise_for_status
    text = html.text
    soup = BeautifulSoup(text,'html.parser')
    tdL1 = soup.find_all('td',attrs={"class": "e1"})
    tdL2 = soup.find_all('td',attrs={"class": "e2"})
    numL =[]
    for td1,td2 in zip(tdL1,tdL2):
        try:
            numL.append([td1.text,td2.text])
        except:
            continue
    return numL#返回所有股票号码

def getgupiao(numL):
    for num in numL:
        try:
            url = 'https://q.stock.sohu.com/hisHq?code=cn_'+num[0]+'&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp&0.13888967033291877'
            r = requests.get(url)
            r.raise_for_status()
            r.encoding = "gbk"
            html = r.text[21:-2]#去BOM头
            data = json.loads(html)
            datalist = data[0]['hq']
            with open(num[1]+'.csv', "w",newline='') as csvFile:#写入股票信息
                    csvWriter = csv.writer(csvFile)
                    csvWriter.writerow(['日期','开盘','收盘','涨跌额','涨跌幅	','最低','最高','成交量(手)','成交金额(万)','换手率'])
                    for data in datalist:
                        csvWriter.writerow(data)
                    csvFile.close
            print(num[1],'爬取成功')
        except:
            continue
        
        
def main():
    numL = getnum()
    getgupiao(numL)
    print("爬取完成!")
    
    
main()







  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python是一种功能强大的编程语言,可以用于多种用途,其中之一是web爬虫。tushare是一个专业的股票数据接口,可以提供各种市场数据,如股票、指数、基金、期货等等。 使用Python和tushare进行股票数据爬取非常简便。首先需要在Python中安装tushare库,然后import该库到Python环境中。 通过tushare库,可以调用它提供的不同方法,如get_h_data()获取历史股票数据,get_today_ticks()获取今天的交易明细信息,get_tick_data()获取分笔数据等等。 例如,如果要获取某股票的历史数据,可以使用如下代码: ```python import tushare as ts import pandas as pd # 设置股票代码和时间范围 code = '601318' start_date = '20210101' end_date = '20210630' # 调用tushare函数 df = ts.get_hist_data(code, start=start_date, end=end_date) # 查看数据 print(df.head()) ``` 这里获取的是中国平安(股票代码为601318)2021年1月1日至2021年6月30日的历史数据。获取的数据是一个pandas dataframe对象,可以使用各种数据处理和分析工具来操作和分析这些数据。例如,可以计算某个时间段内某个股票的均价、最大值、最小值等等,或者画出趋势图以及其他图表等等。 综上所述,通过tushare可以非常方便地获取股票数据,使用Python的数据处理和分析工具,处理和分析这些数据,是进行量化投资和金融数据分析的重要工具。 ### 回答2: Python是一种广泛使用的编程语言,可用于各种项目和应用。其中,爬虫Python的一项重要应用技能之一,它可以帮助我们收集和分析网络上的信息。Tushare是一种Python股票数据API,可以帮助我们从股票市场上获取数据。 借助Python和Tushare,我们可以编写一个简单的股票爬虫程序,获取股票市场上各种类型的数据。例如,我们可以获取股票实时信息、历史价格、股票基本面数据等等。具体来说,我们可以用Tushare获取股票历史价格数据,然后用Python进行分析和可视化,帮助我们更好地了解股票市场的趋势和变化。 使用Python和Tushare进行股票数据爬取有很多优势。首先,Python是一种易于学习和使用的编程语言,具有很高的编程效率和灵活性。其次,Tushare是一个非常丰富和完整的股票数据API,可以帮助我们快速获取各种类型的数据。此外,Python和Tushare的开源性和免费地使用,使得股票数据爬取成本极低。 总之,Python和Tushare结合可以提供一个灵活、高效、低成本的解决方案,帮助爬虫程序员获取股票市场上各种类型的数据。这些数据可以是有助于投资决策的行业趋势和股票基本面数据,也可以是有助于交易行为的实时价格和历史价格数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值