requests后用 soup.find 找不到指定标签的原因分析

在使用BeautifulSoup的find()方法时,针对www.santostan.com,尝试查找特定标签失败。源代码显示网页存在该标签,但实际操作中无法找到。更换div标签则能成功搜索到相应内容。问题可能源于不同浏览器渲染差异,尝试更改请求头(如IE、Firefox)未解决问题。最终发现页面动态生成,需借助selenium模拟浏览器抓取。
摘要由CSDN通过智能技术生成

在实践中,用 Microsoft Edge 浏览器打开了 www.santostan.com 进行BeautifulSoup.find()方法的学习实践,开发工具看到的源代码如下:

我想找到选中的标签,所以用了如下的代码:

import requests
from bs4 import BeautifulSoup

headers = {'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gec'
                          + 'ko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362',
           "host" : "www.santostang.com",
           }
link = "http://www.santostang.com/"
r = requests.get(link,headers=headers,timeout=15)
soup = BeautifulSoup(r.text,"html.parser")
print(soup.prettify())
sp = soup.find("div",id="titleBar")
print("\nsp = ",sp)

但得到的结果是:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值