搜索
您的当前位置:首页正文

8 使用自动化神器Selenium爬取动态网页(案例三:爬取淘宝

来源:知库网

Selenium 是一个用于浏览器自动化测试的框架,可以用来爬取任何网页上看到的数据。

selinim,京东淘宝反爬严重

image image image

环境变量设置:我的电脑-右键属性-高级设置-环境变量--

image

注意环境变量添加好后,需要重启pycharm,不然报错。

环境搭建好后,环境测试代码如下:

使用代码测试:

from selenium import webdriver #导入包

driver = webdriver.Chrome() #打开Chrome浏览器


运行结果如下

image

3 Selenium的优缺点

优点:Selenium可以爬取任何网页的任何内容,因为它是通过浏览器访问的方式进行数据的爬取,没有网站会拒绝浏览器的访问。

缺点:时间以及内存消耗太大,所以大规模爬虫不会用。


image

webdriver相当于浏览器,我们选择chrome浏览器。


4 Selenium的操作

driver.find_element_by_name()

查找符合条件的单个元素

driver.find_elements_by_name()

查找符合条件的一组元素


使用代码测试:

from selenium import webdriver #导入包

driver = webdriver.Chrome() #打开Chrome浏览器,大写

elem = driver.find_element_by_xpath('//*[@id="kw"]') #查找输入框,kw用双引号

elem.send_keys('刘亦菲',Keys.ENTER) #模拟点击回车

print(driver.page_source) #打印网页源代码

代码运行结果如下:

image

指定无头浏览器

安装

image

使用代码测试:

from selenium import webdriver #导入包

driver = webdriver.PhantomJS() #打开无头浏览器

elem = driver.find_element_by_xpath('//*[@id="kw"]') #查找输入框,kw用双引号

elem.send_keys('刘亦菲',Keys.ENTER) #模拟点击回车

print(driver.page_source) #打印网页源代码


Top