python爬虫:使用Selenium模拟浏览器

一、首先准备环境

1、window10环境下

2、Selenium最新版本

pip install Selenium

3、下载浏览器驱动

火狐浏览器驱动,其下载地址是:https://github.com/mozilla/geckodriver/releases
谷歌浏览器驱动,其下载地址是:http://chromedriver.storage.googleapis.com/index.html?path=2.33/
opera浏览器驱动,其下载地址是:https://github.com/operasoftware/operachromiumdriver/releases

下载解压后,将所在的目录添加系统的环境变量中。当然你也可以将下载下来的驱动放到python安装目录的lib目录中,因为它本身已经存在于环境变量(我就是这么干的)。

image.png

4、BeautifulSoup解析

pip install bs4

5、下载浏览器

注意:浏览器驱动一定要与浏览器对应

二、就可以开始写代码了

1、要使用selenium先需要定义一个具体browser对象,这里就定义的时候就看你电脑安装的具体浏览器和安装的哪个浏览器的驱动。这里以火狐浏览器为例:

from selenium import webdriver
# 地址是浏览器驱动文件所在的路径
browser = webdriver.Firefox(executable_path=r"C:\Python3.6.4\Lib\geckodriver.exe")

2、再模拟打开贴吧首页:

browser.get("https://tieba.baidu.com/index.html")

3、再模拟滚动条滚动到底部

# 这个是循环四次,往下翻滚四次
for i in range(1, 5):
    # 滑动鼠标到网页底部
    browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
    # 模拟用户的点击事件
    browser.find_element_by_class_name("kuMore").click()    
    time.sleep(1)

4、最后再使用BeautifulSoup,解析图片标签:

from bs4 import BeautifulSoup
html = BeautifulSoup(browser.page_source, "lxml")
imgs = html.select("#new_list li img")
# 关闭浏览器
browser.close()

5、将数据保存到数据库中

你可能感兴趣的:(python爬虫:使用Selenium模拟浏览器)