在使用ChromiumPage中有两个相似的链接,如何监听一个确定的链接?

刚解决一个问题,又有新的问题,在使用ChromiumPage中如何监听一个确定的链接,两个相似的链接干扰,两个链接都很长,有部分参数不同,每次链接都有加密数据在变,无法固定
api/qt/clist/get?cb=jQuery1123024554575312602211_1724157038962&fid=f62&po=1&pz=50&pn=2&np=1&fltt=2&invt=2&ut=b2884a393a59ad64002292a3e90d46a5&fs=m%3A90+t%3A3&fields=f12%2Cf14%2Cf2%2Cf3%2Cf62%2Cf184%2Cf66%2Cf69%2Cf72%2Cf75%2Cf78%2Cf81%2Cf84%2Cf87%2Cf204%2Cf205%2Cf124%2Cf1%2Cf13
api/qt/clist/get?cb=jQuery1123024554575312602211_1724157038958&pn=1&pz=500&po=1&np=1&fields=f12%2Cf13%2Cf14%2Cf62&fid=f62&fs=m%3A90%2Bt%3A3&ut=b2884a393a59ad64002292a3e90d46a5&_=1724157038966

page = ChromiumPage()
page.listen.start('api/qt/clist/get') 

在翻页过程中有时监听到的是前一个链接,有时是后一个,无法同时抓到两个或者指定的一个,尝试通过参数确定不成功,网上没有找到例子;

import json
import pandas as pd
import numpy as np
import csv
import re
from DrissionPage import ChromiumPage
def ff_em_bkzj():

page = ChromiumPage()
df=pd.DataFrame([])
nn=1
page.listen.start('api/qt/clist/get') 
page.get(url)
res = page.listen.wait()  
while 1:
    time.sleep(3)
    #print(res.url)  # 输出数据包url
    for ii in range(3):
        html=res.response.body
        #print(html)
        pattern = re.compile('\((.*)\)',re.S)
        items = re.findall(pattern,html)  
        hjson = json.loads(items[0])
        #print(hjson)
        df0=pd.DataFrame(hjson["data"]["diff"])
        if df0.shape[1]>8:
            #print(df0)
            df=pd.concat([df,df0])
            break
        else:
            print('   ',ii)
    print(nn,'df',df0.shape)
    page.scroll.to_bottom()
    res = page.listen.wait()  # 等待并获取一个数据包
    #time.sleep(1)
    ele=page.ele('xpath://div[@class="pagerbox"]/a[text()="下一页"]')
    if ele:
        #time.sleep(2)
        ele.click()
        res = page.listen.wait()  # 等待并获取一个数据包
        nn=nn+1
    else:
        break
df=df.dropna(subset=['f2','f3']) #NaN 删去NaN行
print(df)
df.to_csv('ttt.csv', encoding='ansi',index=False)#debug

ff_em_bkzj()

恳请指教,谢谢

阅读 1.4k
1 个回答

如果能够取得url的话,用“ = ” 号对url进行分割,用正则表达式判断最后一个 = 号之后是否是纯数字,这样应该可以判断是哪个链接

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题