基于Selenium爬取动态网页
一、打开百度并进行搜索
打开百度:
from selenium.webdriver import Chrome
web = Chrome()
web.get('https://www.baidu.com')
找到开发者选项:
输入要查询的值并回车:
input_btn = web.find_element_by_id('kw')
input_btn.send_keys('成龙', Keys.ENTER)
代码:
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
web = Chrome()
web.get('https://www.baidu.com')
web.maximize_window()
input_btn = web.find_element_by_id('kw')
input_btn.send_keys('成龙', Keys.ENTER)
二、爬取名人名言
1. 爬取一页
先爬取第一页进行测试。
在开发者工具中可发现每一组名言(名言+名人)都是在一个class="quote"的div中,并且没有其他class="quote的标签:
之后,可发现名言句子在div下的class="text"的标签中,作者在class="author"的small标签中:
因此爬取第一页代码如下:
div_list = web.find_elements_by_class_name('quote')
print(len(div_list))
for div in div_list:
saying = div.find_element_by_class_name('text').text
author = div.find_element_by_class_name('author').text
info = [saying, author]
print(info)
结果如下: