写一篇爬取新浪财经网里上市公司的爬虫代码
时间: 2024-09-26 08:11:27 浏览: 29
编写一个爬取新浪财经网站上市公司信息的Python脚本通常需要分步骤进行,这里提供一个基本框架,假设我们想要抓取的是公司的基本信息如名称、股票代码和最新收盘价。我们将使用`requests`库来发送HTTP请求,`BeautifulSoup`库来解析HTML。
首先安装必要的库(如果还未安装):
```bash
pip install requests beautifulsoup4
```
然后可以尝试以下代码:
```python
import requests
from bs4 import BeautifulSoup
# 目标URL的模板,需要替换为你感兴趣的公司股票页面
base_url_template = "https://vip.stock.finance.sina.com.cn/q/go.php/vFinanceCompany/kind/{}/p/{}.html"
# 公司ID或股票代码,根据新浪财经的分类页面找到
company_id = '你的股票代码'
# 发送GET请求并获取HTML内容
def fetch_page(company_id):
url = base_url_template.format(company_id, company_id)
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
print(f"请求 {url} 失败,状态码:{response.status_code}")
return None
def parse_html(html):
soup = BeautifulSoup(html, 'lxml')
# 查找特定标签或属性获取数据
name = soup.find('span', class_='name').text.strip()
stock_code = soup.find('div', id='szse_stockno').text.strip() or \
soup.find('div', id='shse_stockno').text.strip() # 两个可能的位置
latest_price = soup.find('div', class_='lastPrice').find('em').text.strip()
return name, stock_code, latest_price
# 获取并解析页面
html = fetch_page(company_id)
if html:
name, stock_code, price = parse_html(html)
print(f"公司名:{name}\n股票代码:{stock_code}\n最新收盘价:{price}")
else:
print("无法获取数据")
阅读全文