Webscrapping的HTML源似乎与网站不一致

时间:2018-07-07 16:43:05

标签: python python-3.x

我退房说:

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格式有所不同,还是我错过了什么?

0 个答案:

没有答案