如何用Python抓取Focus On Sound网页源码提取作业答案并打印
简单提取Repl页面中指定变量的答案
嘿,完全懂你不想折腾BeautifulSoup的心情——有时候直接处理源码反而更省心!针对你说的这个Repl链接,我们可以用Python直接请求页面内容,定位到目标行提取答案,全程不用复杂的HTML解析工具。
实现步骤:
- 先用
requests库获取页面的原始源码 - 把源码按行拆分,找到第152行(注意:Python中列表索引从0开始,所以实际要取第151个元素)
- 从该行提取
answer_text变量的内容,转成字典后打印
完整代码:
首先确保你已经安装了requests库,如果没有的话,先运行:
pip install requests
然后是Python代码:
import requests import json # 目标Repl链接 url = "https://repl.it/@KhalilNourElDin/SleepyPessimisticTheories?folderId=" try: # 请求页面源码 response = requests.get(url) response.raise_for_status() # 检查请求是否成功 # 按行拆分源码 lines = response.text.splitlines() # 定位第152行(索引151) target_line = lines[151] # 提取answer_text的内容:截取等号后面的部分,去掉首尾的空格和引号 answer_content = target_line.split("=", 1)[1].strip().strip('"') # 转成字典(因为内容是JSON格式的字符串) answers = json.loads(answer_content) # 打印所有答案 print("提取到的作业答案:") for question, answer in answers.items(): print(f"{question}: {answer}") except requests.exceptions.RequestException as e: print(f"请求页面出错:{e}") except IndexError: print("页面中找不到第152行,请检查行号是否正确") except json.JSONDecodeError: print("解析答案内容失败,请检查目标行的格式是否变化")
小提示:
如果之后Repl的行号或者answer_text的格式有变化,你可以:
- 打开Repl页面,右键查看源码,找到
answer_text所在的行号,调整代码里的索引 - 如果变量格式不是JSON字符串了,可以根据实际格式修改提取逻辑(比如用正则表达式匹配)
内容的提问来源于stack exchange,提问作者Nour_Dev
相关产品推荐
相关产品推荐

