For dynamic pages that load data with ajax requests, try monitoring Network tab in Developer Tools (F12)
, and find the request you need.
Here the ticker data is requested from https://www.jisilu.cn/data/cbnew/cb_list/?___jsl=LST___t=1561977181934
POST https://www.jisilu.cn/data/cbnew/cb_list/?___jsl=LST___t=1561977181934 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0 Accept: application/json, text/javascript, */*; q=0.01 Accept-Language: en-US,de-DE;q=0.7,en;q=0.3 Referer: https://www.jisilu.cn/data/cbnew/ X-Requested-With: XMLHttpRequest Connection: keep-alive Cookie: kbzw__Session=7n47d42nc28n259v722k8onhq5; kbz_newcookie=1 Cache-Control: max-age=0 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 fprice=&tprice=&volume=&svolume=&premium_rt=&ytm_rt=&rating_cd=&is_search=N&btype=&listed=Y&industry=&bond_ids=&rp=50&page=1 <> 2019-07-01T013533.200.json
You can then use requests library or any other http client to fetch json (remember to supply headers/cookies if necessary) then use JSON however you like.
Python
Using the info you can utilize requests library as follows:
import requests if __name__ == '__main__': data = { 'fprice': '', 'tprice': '', 'volume': '', 'svolume': '', 'premium_rt': '', 'ytm_rt': '', 'rating_cd': '', 'is_search': 'N', 'btype': '', 'listed': 'Y', 'industry': '', 'bond_ids': '', 'rp': '50', 'page': '', } res = requests.post('https://www.jisilu.cn/data/cbnew/cb_list/?___jsl=LST___t=1561977181934', data=data) res.raise_for_status() data = res.json() print(data)
which gives you a very large list:
{'page': 1, 'rows': [{'id': '110052', 'cell': {'bond_id': '110052', 'bond_nm': '贵广转债', 'stock_id': 'sh600996', 'stock_nm': '贵广 ... and goes on much longer