首页 > 编程知识 正文

Python读取同花顺日线数据实战

时间:2023-11-22 05:14:16 阅读:290889 作者:HFLH

本篇文章将以“Python读取同花顺日线数据”为主题,介绍如何使用python语言从同花顺网站上获取股票日线数据。通过该实战,读者可以学习到如何使用Python进行网页数据抓取、数据清洗和存储等知识点。

一、网页数据抓取

首先,我们需要从同花顺网站上获取需要的数据。在这个步骤中,我们需要借助第三方库来实现

import requests
from bs4 import BeautifulSoup

url = 'http://q.10jqka.com.cn/index/index/board/all/field/zdf/order/desc/page/1/ajax/1/'

headers = {
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}

response = requests.get(url, headers=headers)

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

上面的代码,我们使用requests库向同花顺网站发送请求,得到网页的HTML内容。之后使用BeautifulSoup进行HTML解析,用于数据清洗。

二、数据清洗

接下来,我们需要从HTML中解析出我们需要的数据,并进行清洗和整理。通过第一步的HTML解析,我们可以得到一个包含了所有数据信息的HTML对象soup。

table = soup.find_all('table')[0]

trs = table.find_all('tr')

for tr in trs:
  tds = tr.find_all('td')
  if len(tds) == 0:
    continue

  code = tds[1].text.strip()
  name = tds[2].text.strip()
  price = tds[3].text.strip()
  chg = tds[4].text.strip()
  chg_percent = tds[5].text.strip()
  print(code, name, price, chg, chg_percent)

通过find_all(),我们可以得到所有标签的内容,所以我们需要使用循环来遍历每一个标签,然后再一次执行find_all()方法得到每一个标签的内容。

三、数据存储

在获取和清洗了我们需要的数据之后,下一步是将数据存储到本地或者数据库中。在这里,我们将数据保存到CSV文件中,以便其他应用程序或软件都可以方便地打开和读取CSV文件。

import csv

with open('stock_data.csv', mode='w', newline='') as file:
  writer = csv.writer(file)
  writer.writerow(['Code', 'Name', 'Price', 'Change', 'Change_percent'])
  for tr in trs:
    tds = tr.find_all('td')
    if len(tds) == 0:
      continue
    code = tds[1].text.strip()
    name = tds[2].text.strip()
    price = tds[3].text.strip()
    chg = tds[4].text.strip()
    chg_percent = tds[5].text.strip()
    writer.writerow([code, name, price, chg, chg_percent])

以上代码将把数据写入名为stock_data.csv的文件中。

四、总结

通过本文的介绍,我们学习了如何使用Python爬取网页数据、对数据进行清洗和整理、以及存储到本地或数据库的知识点。在实际应用中,我们还可以使用Python对数据进行进一步的处理和分析,例如制作图表等。 Python的数据处理能力越来越强,不仅可以用于数据科学领域,也可以应用于网页抓取、自然语言处理以及机器学习等很多领域。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。