Python 无法使用请求库获取正确的响应页

Python 无法使用请求库获取正确的响应页,python,get,scrapy,request,Python,Get,Scrapy,Request,我试图解析网页上的评论。 但我无法通过请求库正确获取它: >>> url = 'https://xueqiu.com/S/SZ300816' >>> headers {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0'} >>> response = requests.get(url, headers=head

我试图解析网页上的评论。 但我无法通过请求库正确获取它:

>>> url = 'https://xueqiu.com/S/SZ300816'
>>> headers
{'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0'}
>>> response = requests.get(url, headers=headers)
>>> from bs4 import BeautifulSoup as bs4
>>> soup = bs4(response.text)
>>> soup.findAll('article', {'class': "timeline__item"})
[]
>>> 
有人能告诉我我做错了什么吗?谢谢


我从chrome开发工具的“网络”选项卡上获得了url。通过以json格式从此url加载的数据。我尽力解决你的问题,希望能帮助你

  from urllib.request import Request, urlopen
    from bs4 import BeautifulSoup as bs
    import requests
    import json
    headers={
        'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0',
    }
    def scrape(url):
        with requests.Session() as req:
            req.headers.update(headers)
            r = req.get(url)
            mydata =r.json()
            print(mydata['list'][0])
            print(mydata['list'][0]['text'])
            print(mydata['list'][0]['description'])
    
           
    url =  'https://xueqiu.com/query/v1/symbol/search/status?u=141606248084627&uuid=1331335789820403712&count=10&comment=0&symbol=SZ300816&hl=0&source=all&sort=&page=1&q=&type=11&session_token=null&access_token=db48cfe87b71562f38e03269b22f459d974aa8ae'
    scrape(url)

你期望的行为是什么?实际的行为是什么?您是否查看了响应的文本,以验证是否存在一个类为
timeline\u item
的元素?(请注意,在您的代码中,类名中有两个下划线)响应不包含元素,但它们位于chrome加载的页面中。通常这意味着javascript正在填充它。您可以使用selenium来打开浏览器并获取页面,而不是请求。但是当前的访问令牌是url不是常量,您能建议一种自动提取的方法吗?谢谢。你说的是哪个令牌?你在回答中发布的url包含这个参数access_token=db48cfe87b71562f38e03269b22f459d974aa8ae,我说的是这个访问令牌。你可以打印它(r.request.path_url.split('&')[-1])。我通过inspect从网络选项卡获得了url。以下是详细信息。在响应头的位置选项卡中访问\u令牌。