pywencai
Query Chinese A-share stock data from Tonghuashun Wencai (同花顺问财) using natural language.
27 downloads
Free
Reviewed
PyWenCai (同花顺问财数据查询)
Query Chinese A-share stock market data from 同花顺问财 using natural language queries via Python.
⚠️ Cookie required: You must provide a valid cookie from the Wencai website. See How to get cookie below.
Prerequisites
- Python 3.7+
- Node.js v16+ (pywencai executes JS internally)
- pip package manager
Install
pip install pywencai --upgrade
How to get cookie
- Open https://www.iwencai.com/ in your browser and log in.
- Open DevTools (F12) → Network tab.
- Perform any query on the page.
- Find the request to
iwencai.com, copy theCookieheader value. - Use that string as the
cookieparameter.
Basic usage
import pywencai
res = pywencai.get(query='今日涨幅前10', cookie='your_cookie_here')
print(res)
API: pywencai.get(**kwargs)
Required parameters
- query — Natural language query string, e.g.
'今日涨停股票','市盈率小于20的股票' - cookie — Cookie string from Wencai website (required)
Optional parameters
- sort_key — Column name to sort by, e.g.
'退市@退市日期' - sort_order —
'asc'or'desc' - page — Page number (default:
1) - perpage — Items per page (default & max:
100) - loop —
Trueto fetch all pages; or integernto fetchnpages - query_type — Query category (default:
'stock'). Options:stock— A股股票zhishu— 指数fund— 基金hkstock— 港股usstock— 美股threeboard— 新三板conbond— 可转债insurance— 保险futures— 期货lccp— 理财产品
- retry — Retry count on failure (default:
10) - sleep — Seconds between requests when looping (default:
0) - log —
Trueto print logs to console - pro —
Truefor paid version (requires cookie) - no_detail —
Trueto always returnDataFrameorNone(never dict) - find — List of stock codes to prioritize, e.g.
['600519', '000010'] - request_params — Extra params for
requests, e.g.{'proxies': proxies}
Return value
- List queries →
pandas.DataFrame - Detail queries →
dict(may contain text and DataFrames)
Examples
Find stocks with PE ratio < 20
import pywencai
res = pywencai.get(query='市盈率小于20的股票', cookie='xxx')
print(res)
Get delisted stocks sorted by date
import pywencai
res = pywencai.get(
query='退市股票',
sort_key='退市@退市日期',
sort_order='asc',
cookie='xxx'
)
print(res)
Fetch all pages with proxy
import pywencai
proxies = {'http': 'http://proxy:8080', 'https': 'http://proxy:8080'}
res = pywencai.get(
query='昨日涨幅',
sort_order='asc',
loop=True,
log=True,
cookie='xxx',
request_params={'proxies': proxies}
)
print(res)
Query index data
import pywencai
res = pywencai.get(
query='上证指数近5日涨跌幅',
query_type='zhishu',
cookie='xxx'
)
print(res)
Query convertible bonds
import pywencai
res = pywencai.get(
query='可转债溢价率小于10%',
query_type='conbond',
cookie='xxx'
)
print(res)
Tips
- Low frequency usage recommended — high-frequency calls may get blocked by Wencai.
- Always use the latest version:
pip install pywencai --upgrade - Query strings use Chinese natural language — write queries as you would on the Wencai website.
- When
loop=Trueandfindis set,loopis ignored and only first 100 results are returned. - For paid data, set
pro=Trueand provide a validcookie.
Download
ZIP package — ready to use
Skill Info
- Creator
- coderwpf
- Downloads
- 27
- Published
- Mar 15, 2026
- Updated
- Mar 16, 2026