Python——股票数据定向爬虫(requests+bs4+re)

目标:获取上交所和深交所所有的股票名称和交易信息

输出:保存到文件中

候选数据网站选择:

新浪股票:http://stock.finance.sina.com.cn/stock/

百度股票:https://gupiao.baidu.com/stock/

候选网站的选择原则:股票信息静态存在于HTML页面上,非js代码生成,没有Robots协议限制

这里我们可以通过查看网页源代码来确认股票信息

我们不要纠结于某个网站,多找信息源尝试

这里经过比较发现,百度股票更适合我们进行爬取,可是我们并没有上交所和深交所的所有股票的列表,所有这里我们可以通过东方财富网来获取所有的股票列表信息

这里我们发现每支股票的链接都与股票号码对应

 

具体步骤:

1.从东方财经网获取股票列表

2.根据股票列表逐个到百度股票获取个股信息

3.将结果存储到文件

import requests
from bs4 import BeautifulSoup
import traceback
import re

def getHTMLText(url):
    try:
        r = requests.get(url)
        r.raise_for_status()
        r.encoding = r.apparent_encod
### 使用 Node.js 和 Python 进行股票数据抓取 对于希望开发或获取用于抓取股票数据的爬虫软件或工具的需求,可以考虑两种主要技术栈:Node.js 和 Python。 #### 利用 Node.js 抓取股票数据 Node.js 提供了一个异步事件驱动环境,非常适合处理I/O密集型应用如Web爬虫。通过使用像 `axios` 或者 `node-fetch` 来发起HTTP请求,并结合 Cheerio 库解析HTML文档,能够轻松实现静态页面上的股票信息采集[^1]。 ```javascript const axios = require('axios'); const cheerio = require('cheerio'); async function fetchStockData(url) { try { const response = await axios.get(url); let $ = cheerio.load(response.data); // 假设我们要找的是某个特定表格中的股价 $('table tr').each((i, element) => { console.log($(element).text()); }); } catch (error) { console.error(`Error fetching data from ${url}:`, error.message); } } ``` #### 使用 Python 实现更复杂的功能 Python 是另一个广泛应用于网络爬虫的语言选项。它拥有丰富的第三方库支持,例如 Scrapy 框架可用于构建大型项目;而 BeautifulSoup 结合 requests 可快速搭建小型脚本完成简单任务。特别是当面对JavaScript渲染的内容时,Selenium WebDriver 成为了不可或缺的选择之一[^2]。 ```python import requests from bs4 import BeautifulSoup def get_stock_data(url): headers = {'User-Agent': 'Mozilla/5.0'} page = requests.get(url, headers=headers) soup = BeautifulSoup(page.content, "html.parser") # 查找并打印所有包含价格标签的div元素内的文本 prices = [item.text.strip() for item in soup.find_all("div", class_="price")] return prices ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值