爬虫入门(三)

一、Selenium

Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。并且支持多种操作系统:如Windows、Linux、IOS、Android等。利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作。对于一些JavaScript渲染的页面来说,这种抓取方式非常有效。

Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬。

  • 声明浏览器对象
  • 访问页面
  • 查找节点
  • 节点交互
  • 动作链
  • 获取节点信息
  • 切换Frame
  • 延时等待
  • 前进和后退
  • Cookies
  • 选项卡管理
  • 异常处理

除了安装selenium外,还需要根据浏览器安装相应的driver。我这里的环境是chrome+jupyter notebook,具体安装步骤:https://blog.csdn.net/wxl1999/article/details/89198750

需要注意:将.exe文件放到chrome所在文件夹和anaconda所在文件夹,经测试无需添加PATH变量。

模拟登陆163邮箱

from selenium import webdriver
import time

#打开浏览器
browser = webdriver.Chrome()
#设置地址
url = "https://mail.163.com/"
#访问网址
browser.get(url)

time.sleep(2)
browser.switch_to.frame(0)#找到邮箱账号登录框对应的iframe,由于网页中iframe的id是动态的,所以不能用id寻找
name = browser.find_element_by_name('email')#找到邮箱账号输入框
name.send_keys(username) #输入邮箱账号
time.sleep(2)
name = browser.find_element_by_name('password')#找到密码输入框
name.send_keys(password) #输入邮箱密码
login = browser.find_element_by_id('dologin')#找到登陆按钮
login.click() #点击登陆按钮

成功登陆

在这里插入图片描述

二、IP问题

服务器会检测某个IP在单位时间内的请求次数,如果超过了某个阈值,那么服务器会直接拒绝服务,返回一些错误信息。对于此,可以构建与维护IP代理池,通过代理的IP地址来访问网站。在这个过程中,Web服务器识别出的真实IP就不再是本机的IP,如此成功实现IP伪装。

西刺代理网址

具体代码可看:https://blog.csdn.net/qq_30006749/article/details/89182101

在这里插入图片描述

参考资料:
1.selenium
2.selenium+IP相关知识
3.Python爬虫任务

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值