python 爬取“新浪财经-股票-行情-北交所”的全部5页共200支股票数据,并将爬取的200条股票数据写入“csv文件。
时间: 2024-04-01 21:33:41 浏览: 412
北交所上市公司财务报告数据大全1387指标财务报表股票交易等2012-2022面板数据.zip
好的,我可以为您提供一个 Python 爬虫示例代码,用于爬取新浪财经北交所前5页的股票数据并将其写入 CSV 文件。
首先,我们需要安装以下依赖库:
```python
pip install requests
pip install beautifulsoup4
pip install pandas
```
然后,可以使用以下代码进行爬取和写入 CSV 文件:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置请求头
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'}
# 设置要爬取的页面数量
page_num = 5
# 设置要爬取的 URL
url = 'http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData?page={}&num=40&sort=symbol&asc=1&node=hs_a&symbol=&_s_r_a=page'
# 创建一个空的 DataFrame
df = pd.DataFrame()
# 循环爬取每一页的数据
for page in range(1, page_num + 1):
# 发送 GET 请求
response = requests.get(url.format(page), headers=headers)
# 解析响应的 HTML 内容
soup = BeautifulSoup(response.content, 'html.parser')
# 将响应内容转换为 JSON 格式
data = eval(soup.text)
# 将 JSON 格式的数据转换为 DataFrame
df_page = pd.DataFrame.from_dict(data)
# 将每一页的数据添加到总的 DataFrame 中
df = pd.concat([df, df_page], ignore_index=True)
# 将 DataFrame 写入 CSV 文件
df.to_csv('stock_data.csv', index=False)
```
该代码将爬取北交所前5页共200支股票的数据,并将其写入名为“stock_data.csv”的 CSV 文件中,每支股票占一行,每个数据字段用逗号分隔。您可以根据需要修改该代码以适应您的具体需求。
阅读全文