用 Selector 来响应
此时需要强调的一点是,Selector 与 Response 对象在使用 xpath 或 css 方法指向元素时,都会返回一个 SelectorList。在本练习中,您将验证这一点:请找到所有属于类 course-block__link 的超链接元素(注意双下划线!),并查看这样做时产生的对象。
回顾:按类名查找元素时可以使用句点(.)。例如,div.class-2 会选中所有属于 class-2 的 div 元素。
我们已预加载了一个名为 response 的 Response 对象和一个名为 sel 的 Selector 对象,它们都来自同一个"秘密"网站的内容。完成创建 CSS 定位器后,您将对比 response.css 与 selector.css 的输出,看到它们实际上是等价的!
本练习是课程的一部分
Python Web 爬取
练习说明
- 将一个 CSS 定位器字符串赋给变量
css_locator,用于指向所有属于类course-block__link的超链接a元素。 - 将把变量
css_locator传入response的css方法所得的输出赋给变量response_as。 - 将把变量
css_locator传入sel的css方法所得的输出赋给变量sel_as。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create a CSS Locator string to the desired hyperlink elements
css_locator = ____
# Select the hyperlink elements from response and sel
response_as = ____
sel_as = ____
# Examine similarity
nr = len( response_as )
ns = len( sel_as )
for i in range( min(nr, ns, 2) ):
print( "Element %d from response: %s" % (i+1, response_as[i]) )
print( "Element %d from sel: %s" % (i+1, sel_as[i]) )
print( "" )