为什么我的select返回的是空列表?

为什么我的select返回的是空列表?

import requests
from fake_useragent import UserAgent
import base64
from bs4 import BeautifulSoup
#获取新闻
def GetNewsFromChina(searchWord):
    currentPage = 1
    url = "http://www.in.cnr.it/index.php/it/component/search/?searchword=cnr&searchphrase=all&Itemid=101"
    # 参数
    params = {
        'searchword': base64.b64encode(searchWord.encode('utf-8')).decode('utf-8'),
        'searchphrase': 'all',
        'Itemid': 101,
    }
    #获取数据
    ua = UserAgent(verify_ssl=False)
    header = {'User-Agent': ua.random}
    response = requests.get(url=url, headers=header, params=params).text
    # print(response)
    #解析数据
    html = BeautifulSoup(response,'lxml')
    dtList = html.select('div.search > dl >dt')
    print(dtList)   
if __name__ == '__main__':
    searchWord = 'cnr'
    list = GetNewsFromChina(searchWord)
    print('ok')

运行结果及报错内容

select返回的是空列表

我的解答思路和尝试过的方法

尝试过浏览器复制selector也是一样的

Assert,和type.要自己学会debug。你要知道每个变量接受回来的东西是什么类型,然后你的操作才会给你预期的结果

你需要定位元素是哪些,我看返回的数据里面没有你要的标签,dt,怀疑数据不是通过这个请求返回的,而是ajax请求返回的,你去页面重新抓包,看看ajax请求里面是不是有你想要的数据