Python爬虫10-Selenium模拟登录

本文介绍了使用Python的Selenium模块进行网页模拟登录和获取异步加载数据的方法,包括Selenium的基本概念、安装、浏览器选择与安装。详细讲解了如何配合PhantomJS和Chrome进行模拟操作,解决异步加载问题。同时,探讨了Selenium的反爬策略,如设置请求头和代理IP,以避免被目标网站识别为爬虫。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

10.1Selenium和PhantomJS和headless-chrome

10.1.1Selenium的概念和安装

10.1.2浏览器的选择和安装

10.2Selenium和PhantomJS与Chrome的配合使用

10.2.1模拟浏览器操作

 10.2.2获取异步加载数据 

10.2.3常见的问题 

10.3Selenium反爬设置

10.3.1设置请求头

        PhantomJS

        FireFox

        Chrome

10.3.2设置代理IP 

       PhantomJS

        FireFox

        Chrome


        对于采用异步加载技术的网页,有时候通过逆向工程来构造爬虫是比较困难的。想用Python获取异步加载返回的数据,可以使用Selenium模块模拟浏览器。

10.1Selenium和PhantomJS和headless-chrome

10.1.1Selenium的概念和安装

        Selenium是一个用于web应用程序测试的工具,它直接运行在浏览器中,就像真实的用户在操作一样。由于这个性质,Selenium也是一个强大的网络数据采集工具,它可以让浏览器自动加载页面,这样使用了异步加载技术的网页,也可获取其需要的数据。

        Selenium模块是Python的第三方库,可以通过PIP安装:

pip install selenium

10.1.2浏览器的选择和安装

        Selenium自己不带浏览器,需要配合第三方浏览器来使用。可以通过help命令查看Selenium的Webdriver功能及Webdriver支持的浏览器

from selenium import webdriver
help(webdriver)

         其中,android和blackberry是移动端的浏览器,这里不做考虑。事实上,常用的浏览器是Firefox,Chrome和PhantomJS。我们这里要用的无界浏览器是chrome和PhantomJS。但是由于PhantomJS已经停更,所以只稍微涉猎,主要以chrome为主(原理其实大体相同罢了)

        (1)打开百度网盘链接拿去。链接:https://pan.baidu.com/s/1Q7gOII6faiSBXNZfj8fSpQ 
提取码:data   对应的chrome webdriver下载可以去这里http://chromedriver.storage.googleapis.com/index.html   更详细的资料可以查看Headless Chrome官方文档
        (2)点击下载,其实就是一个.exe应用程序,然后将PhantomJs或chrome放在python或anaconda目录之下。chrome得设置环境变量。

        (3)在Pyhton环境中进行测试,如果没有报错说明可用。

from selenium import webdriver
driver = webdriver.PhantomJS()



from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
#设置无界面模式
chrome_options.add_argument("--headless")
#禁用gpu
chrome_options.add_argument("--disable-gpu")
driver = webdriver.Chrome(options=chrome_options)
driver.get('https://www.baidu.com/')
print('打开浏览器')
print(driver.title)
driver.find_element_by_id('kw').send_keys('测试')
print('关闭')
driver.quit()
print('测试完成')

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值