Ardent¹⁵⁶⁶²⁶⁶¹⁶³⁵ 2024-09-12 22:46 采纳率: 0%
浏览 3

打印soup正常,find_all返回空值(语言-python)

req进行数据请求返回正常
bs提取返回soup也正常
find_all返回一直是空,请砖家看下什么原因,xiexie

import requests
from bs4 import BeautifulSoup
import re

url = "https://exam.feishu.cn/arena/exam/api/exam_paper/7391769213012018738/detail?lang=zh&need_answer=true"
headers = {
        "Cookie": "passport_web_did=7347689603006234626; QXV0aHpDb250ZXh0=2763e30a2c6d4701800595bbb6f662c4; trust_browser_id=6edadca1-407f-497d-867a-54fa2f0d069c; __tea__ug__uid=7347690026752296485; is_anonymous_session=; lang=zh; X-Risk-Browser-Id=a92ffc1e65264281b985186120fb788551a6a70dd5e16d1416788aeabb4f8c58; MONITOR_WEB_ID=6886396722554308109; _ga_P18SJM24J5=GS1.1.1711940517.1.1.1711941097.0.0.0; locale=zh-CN; s_v_web_id=verify_lvi6arvr_fejhFDYZ_X6Ut_4J9h_Bcru_hr3gRP5hqH4m; fid=6a4d9b4b-d883-4d02-81d3-1f42fe9dfe35; Hm_lvt_e78c0cb1b97ef970304b53d2097845fd=1715045560; _ga_R56B49X323=GS1.1.1715936280.1.1.1715936311.0.0.0; help_center_session=ad64763f-7fa6-4064-a966-44b3528caba8; _csrf_token=a6bc1f47060cfa3a38cd7652266761d37f49ea3b-1718578924; _gcl_au=1.1.1765593870.1718690613; session=XN0YXJ0-245oe31b-2351-4f00-a16e-74ce2078392f-WVuZA; session_list=XN0YXJ0-2b0r7295-6639-41e3-87df-3ca6b931a696-WVuZA_XN0YXJ0-b4ev1ed5-8f9b-4697-9484-4a6120caabc8-WVuZA_XN0YXJ0-245oe31b-2351-4f00-a16e-74ce2078392f-WVuZA_XN0YXJ0-245oe31b-2351-4f00-a16e-74ce2078392f-WVuZA; passport_trace_id=7382752774091636738; gf_canary_1587849=41; _uuid_hera_ab_path_1=7383724499771932673; Hm_lvt_a79616d9322d81f12a92402ac6ae32ea=1717582031,1718690613,1719976322; _uetvid=7e757cf02d3811ef8dc55be6ddb79eeb; msToken=ayWiICmn7_sGhymlFdP2f71Z6SArcDXyaipNNoDba7R-4tujCQ5thns2LKGVpJRaW3De6uNAFvU4WsAAUfsGJAyMYOy-tQe4TfypkUlSdFrto22we80p; _ga=GA1.2.1739953695.1710767413; _ga_VPYRHN104D=GS1.1.1720427174.68.1.1720427433.60.0.0; lgw_csrf_token=03fb4b4e74135f45af79704538d699e64038aed2-1720509212; gf_part_1587849=32; site_env=pre=0; passport_app_access_token=eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjA2NjU0MzYsInVuaXQiOiJldV9uYyIsInJhdyI6eyJtX2FjY2Vzc19pbmZvIjp7IjM2Ijp7ImlhdCI6MTcyMDYyMjIzNiwiYWNjZXNzIjp0cnVlfX0sInN1bSI6ImVjZmFiODE2MGFiZDdhOTJlNWFlNmI4YThkZDQxZjcwZmIzNzkzNTYwYTJiNWI0YTliMmNhMjAwNGYzNDhiNjgifX0.ADeN3sYiE6Ck5P5MLUDBLCquFGw2YpDlm6YmlPmAbR3kIhXedcA9kd92thOCAtRktRVzWB-tu-ZcuiZFmDlm9A; sl_session=eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjA2NjYyMjYsInVuaXQiOiJldV9uYyIsInJhdyI6eyJtZXRhIjoiQVYrUmNiMUtBQUFDWDJyZjBzMkFnQUpsK0R6RG93U0FBbVg0UE1PakJJQUNaZmc5UUpLQmdCd0NLZ0VBUVVGQlFVRkJRVUZCUVVKc0swUXhRVzkzUzBGQlp6MDkiLCJzdW0iOiJlY2ZhYjgxNjBhYmQ3YTkyZTVhZTZiOGE4ZGQ0MWY3MGZiMzc5MzU2MGEyYjViNGE5YjJjYTIwMDRmMzQ4YjY4IiwibG9jIjoiemhfY24iLCJhcGMiOiJSZWxlYXNlIiwiaWF0IjoxNzIwNjIzMDI2LCJzYWMiOnsiVXNlclN0YWZmU3RhdHVzIjoiMSIsIlVzZXJUeXBlIjoiNDIifSwibG9kIjpudWxsLCJucyI6ImxhcmsiLCJuc191aWQiOiI2ODg2NDEwMzYzMDMwNDcwNjU4IiwibnNfdGlkIjoiNjg3NTU1Mzg3NzYxODM2MDMyMiIsIm90IjoxfX0.kxKkSQzTIo5NFuzmF6IKB1CvL096BHGvYTVdw7zIhMqZtOuprJWSKhqmIZmW0pBA5wCDPs9cqSEaSl7Nvg240Q; swp_csrf_token=c83feffb-9d70-4040-bc86-2ae9cd20bd43; t_beda37=357f2b3db9923be952b04271fe5997a16e02464a3a07945f264e9e7db7f4e4f2; exam-csrf-token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjA2MjQ5NDQsImV4dHJhIjoie1wiVG9rZW5JZFwiOjE1Nzc2Nzk5MTk0ODc2NjUzOTB9IiwiaXNzIjoicGVvcGxlLmFyZW5hLmV4YW0ifQ.fkcsA_0Tq_onb1PejjtoL18iHZyGBY9DXIW3b4DaZvY",
        "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.232.400 QQBrowser/12.3.5582.400',
        }

response = requests.get(url,headers=headers)
#检查返回值
if response.status_code==200:
        print("请求成功"+"\n"+"="*50)
        soup = BeautifulSoup(response.text, "html.parser")
 # 打印前1000字
        print(soup.text[:1000])
        print( "=" * 50+"\n" +"打印完成"+'\n')
else:
        print("请求错误")

#提取数据:
answers = soup.find_all("div",class_="container__29goL paper-question-item")
print("打印结果:")
print(answers)


打印结果如下:

请求成功
==================================================
{"code":0,"message":"","data":{"question_list":[{"question_instance_id":"7391771282523948581","difficulty":0,"remark":"","sub_questions":[],"score":2,"answer":{"multiple_choice_answer":[1]},"score_may_not_exist":2,"languages":["zh"],"question_id":"7391711969071334922","question_library_id":"7390647774112384563","stem":{"body_text_export":"密级是指根据数据一旦遭到算改、破坏、泄露或者非法获取、非法利用,对国家安全、公共利益、公司权益、个人权益造成的危害程度从高到低分为核心(L5级)、重要(L4级)、敏感(L3级)、内部公开(L2级)、外部公开(L1级)5个级别来定。","content":"","content_extra":"","stem_supplement":{"options":["",""]},"body_text":"密级是指根据数据一旦遭到算改、破坏、泄露或者非法获取、非法利用,对国家安全、公共利益、公司权益、个人权益造成的危害程度从高到低分为核心(L5级)、重要(L4级)、敏感(L3级)、内部公开(L2级)、外部公开(L1级)5个级别来定。","body":"{\"initialAttributedText\":{\"text\":\"密级是指根据数据一旦遭到算改、破坏、泄露或者非法获取、非法利用,对国家安全、公共利益、公司权益、个人权益造成的危害程度从高到低分为核心(L5级)、重要(L4级)、敏感(L3级)、内部公开(L2级)、外部公开(L1级)5个级别来定。\\n\",\"attribs\":\"*1*2+37|1+1\"},\"initialAttributedTexts\":{\"rows\":{},\"cols\":{},\"text\":{\"0\":\"密级是指根据数据一旦遭到算改、破坏、泄露或者非法获取、非法利用,对国家安全、公共利益、公司权益、个人权益造成的危害程度从高到低分为核心(L5级)、重要
==================================================
打印完成

打印结果:
[]

进程已结束,退出代码为 0


  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-12 22:52
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    从你的代码和打印结果来看,这个问题可能是因为在解析网页的时候没有找到你期望的HTML元素,也就是你的 find_all 函数没有找到任何匹配的 div 标签,其 class 属性为 container__29goL paper-question-item。这可能是由于以下几个原因:

    1. 网站的结构可能已经改变,你正在寻找的HTML元素可能已经被移除或者更改了其属性。你可以尝试检查网页源代码,看看是否还有这个元素存在。
    2. 网站可能使用了JavaScript动态加载内容。在这种情况下,当你使用requests库获取网页源代码时,可能并未加载到你想获取的内容。你可以尝试使用像Selenium这样的工具来模拟浏览器行为,加载JavaScript并获取完整的网页内容。
    3. 你的网络请求可能被网站服务器阻止。这可能是由于请求头、IP地址或其他因素导致的。你需要检查你的请求头是否正确,或者尝试使用代理IP进行请求。

    我建议你首先检查网页源代码,看看是否还有你要找的元素存在,然后再根据上述可能的原因进行检查和调整。如果你使用Selenium或者其它浏览器自动化工具进行网页内容抓取仍然无法找到这个元素,那可能是由于网站已经改变了其结构或者对爬虫进行了反爬策略。在这种情况下,你可能需要寻找其他途径获取你需要的数据。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月12日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?