网页爬虫报错求助:InsecureRequestWarning与MarkupResemblesLocatorWarning问题
爬虫代码问题解决方案
核心错误点梳理
- URL字符串末尾多了一个多余的右括号,属于语法错误
requests.get()的请求结果未保存,无法提取页面内容- 初始化
BeautifulSoup时传入的是URL而非请求返回的网页HTML文本 - 代码中
.textprint为语法错误,需拆分为文本提取与打印操作
修正后的完整代码
import requests from bs4 import BeautifulSoup import warnings # 临时抑制不安全请求警告(建议后续优先解决证书验证问题) warnings.filterwarnings("ignore", category=InsecureRequestWarning) # 修正URL,移除末尾多余右括号 url = "https://www.eprocure.gov.bd/partner/ViewTenderPaymentDetails.jsp?payId=33767442&uId=12381&tenderId=860992&lotId=1332668&payTyp=ps" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0", "Accept-Encoding": "*", "Connection": "keep-alive" } # 发送请求并保存响应对象 response = requests.get(url, verify=False, headers=headers) # 用响应的HTML内容初始化BeautifulSoup soup = BeautifulSoup(response.text, 'html.parser') # 打印网页文本内容 print(soup.text)
关键问题说明
- URL语法修正:原URL末尾的
)会导致字符串无法正确识别,必须删除以保证请求正常发送。 - 响应对象保存:
requests.get()返回包含网页内容的响应对象,需用变量存储后才能提取HTML文本。 - BeautifulSoup参数修正:BeautifulSoup需要传入网页的HTML文本(
response.text),而非URL本身,否则会将URL当作HTML解析触发警告。 - 警告处理:
verify=False会触发HTTPS不安全请求警告,临时可用warnings.filterwarnings抑制,但长期建议配置合法证书验证以规避安全风险。 - 语法错误修正:原代码
.textprint为拼写错误,需拆分为提取文本(.text)和打印(print())两个独立操作。
内容的提问来源于stack exchange,提问作者Subroto Paul
相关产品推荐
相关产品推荐

