我退房说:
https://www.calix.com/search-results.html?searchKeyword=C7
如果我检查第一个链接上的元素,我会得到:
<a class="title viewDoc"
href="https://www.calix.com/content/dam/calix/mycalix-
misc/ed-svcs/learning_paths/C7_lp.pdf" data-
preview="/session/4e14b237-f19b-47dd-9bb5-d34cc4c4ce01/"
data-preview-count="1" target="_blank"><i class="fa fa-file-
pdf-o grn"></i><b>C7</b> Learning Path</a>
我编码:
import requests, bs4
res = requests.get('https://www.calix.com/search-results.html?
searchKeyword=C7',headers={'User-Agent':'test'})
print(res)
#res.raise_for_status()
bs_obj= bs4.BeautifulSoup(res.text, "html.parser")
elems=bs_obj.findAll('a',attrs={"class","title viewDoc"})
print(elems)
有[]作为输出(空列表)。
所以,我考虑过要在页面的“查看源”中查找。
查看源:https://www.calix.com/search-results.html?searchKeyword=C7
如果您在“查看源代码”中搜索,将找不到我前面提到的“检查元素”的代码。
页面的视图源中没有“ a class =“ title viewDoc””。
这可能就是为什么我的代码未返回任何内容的原因。
我去了www.nba.com,并检查了一个链接
<a class="content_list--item clearfix"
href="/article/2018/07/07/demarcus-cousins-discusses-
stacked-golden-state-warriors-roster"><h5 class="content_list-
-title">Cousins on Warriors' potential: 'Scary'</h5><time
class="content_list--time">in 5 hours</time></a>
此链接的“检查”内容位于页面的“视图源”中。
而且,显然我的代码适用于此页面。
我已经看到了第一个问题的一些例子。
很好奇为什么html格式有所不同,还是我错过了什么?