selenium爬虫

方法选择和安装包

在动态网页并且登陆过程中不需要进行过于复杂的密码验证的时候使用selenium会非常的方便

安装准备过程也相对简单:

下载对应版本的chromedriver并且通过如下代码找到路径下载到python所在的目录:

import sys

print(sys.executable)

最基本的使用selenium:

# 从 selenium 中导入 webdriver(驱动)

from selenium import webdriver

# 选择 Chrome 浏览器并打开

browser = webdriver.Chrome()

处理数据

BeautifulSoup中通过 select()方法查找所有被所传入的 CSS 选择器选中的元素。这里使用find_elements

具体的find_element的方式参考

http://t.csdnimg.cn/SwYrS

BeautifulSoup 的原理是将网页源代码的字符串形式解析成 BeautifulSoup 对象,然后通过 BeautifulSoup 对象 的属性和方法提取出我们需要的数据。发现没有?BeautifulSoup 只需要一个网页源代码的字符串形式即可。

之前我们都是使用 requests 库获取网页源代码,并通过 text 属性取得其字符串形式。而 selenium 获取网页后的 page_source 属性值正是字符串格式的!

控制浏览器

我们主要关注 click()和 send_keys()这两个方法。通过 selenium查找元素的方法找到对应的元素后,调用其 click()方法就可以模拟点击该元素,一般用于点击链接或按钮;调用其send_keys()方法用于模拟按键输入,传入要输入的内容即可,常用于账号密码等输入框的表单填写。

time.sleep(2)

# 找到用户名输入框

user_login = browser.find_element('id', 'user_login')

# 输入用户名

user_login.send_keys('codetime')

# 找到密码输入框

user_pass = browser.find_element('id', 'user_pass')

# 输入密码

user_pass.send_keys('shanbay520')

# 找到登录按钮

wp_submit = browser.find_element('id', 'wp-submit')

# 点击登录按钮

wp_submit.click()

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
功能介绍 京东与1688项目两个项目具有极高的相似度,我首先写的京东爬虫,再写的1688爬虫,1688爬虫基于京东爬虫的构建思路,因此1688爬虫会比京东爬虫更深入,两者也会有一些重复的部分。 1、selenium反侦察。通过自动化工具,可以模拟正常人类的操作,但还是会有一些检测方式,可以检查到selenium之类的工具。这两个项目里配置了一个Chrome浏览器选项,开启了浏览器开发者模式,防止被爬网站通过js代码检查到自动化工具。可能还会有其他的反侦察方法,待我们继续深挖。 2、输入关键字查询,爬取显示页面所有商品。京东项目里面会爬取每个商品的商品名、店铺、价格、好评率。1688项目爬取分两部分,一个商品,一个店铺。商品里包括的信息:商品名、店铺地址、价格(以json字符串存入的数据库)、搜索关键字。店铺里包括的信息:店铺地址、店铺名、货描、响应、发货速度。 3、1688项目有店铺去重的功能。在搜索页面中,有许多店铺重复了,这里用redis的set保存了店铺的地址,如果店铺地址没有在set中,那就插入mysql数据库,反之则不插入。 4、1688项目异常处理。有些地方数据解析不到,解析不到就跳过当前的解析,进行下一次解析,不会出现程序运行停止的情况。 另外内含详细截图+详细部署视频,还对过程中可能出现的问题进行了汇总,对于正在学习这方面的你是一个很好的选择,希望对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值