这个专题主要说的是Python在爬虫方面的应用,包括爬取和处理部分 [Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium) [Python爬虫]使用Python爬取静态网页-斗鱼直播 [Python爬虫]使用Python爬取动态网页-豆瓣电影(JSON) [Python爬虫]使用Selenium操作浏览器订购火车票 上节我们说了如何使用selenium打开网页做些简单操作 这节内容为操作浏览器自动订购12306火车票 开发环境 操作系统:windows 10 Python…
前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动态加载的图片该怎么爬取到. 分析 他的代码比较简单,主要有以下的步骤:使用BeautifulSoup库,打开百度贴吧的首页地址,再解析得到id为new_list标签底下的img标签,最后将img标签的图片保存下来. headers = { 'User-Agent':'Mozilla/5.0 (Win…
Python 爬虫利器 Selenium 介绍 转 https://mp.weixin.qq.com/s/YJGjZkUejEos_yJ1ukp5kw 前面几节,我们学习了用 requests 构造页面请求来爬取静态网页中的信息以及通过 requests 构造 Ajax 请求直接获取返回的 JSON 信息. 可以点击链接查看: Python爬虫——Python岗位分析报告 Python 爬虫入门(二)——爬取妹子图 还记得前几节,我们在构造请求时会给请求加上浏览器 headers,目的就是为了让…
Python爬虫之selenium的使用 一.简介 二.安装 三.使用 一.简介 Selenium 是自动化测试工具.它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试.Selenium 支持这些浏览器驱动.Selenium支持多种语言开发,比如 Python,Java,C,Ruby等等. 二.安装 1.安装selenium pip3 install seleniu…
Python爬虫之selenium高级功能 原文地址 表单操作 元素拖拽 页面切换 弹窗处理 表单操作 表单里面会有文本框.密码框.下拉框.登陆框等. 这些涉及与页面的交互,比如输入.删除.点击等. 前提是找到页面中的元素. 例如下面有一个表单输入框: <input type="text" name="passwd" id="passwd-id" /> 获取这个元素的方法: element = driver.find_element_…
Python爬虫之selenium库使用详解 本章内容如下: 什么是Selenium selenium基本使用 声明浏览器对象 访问页面 查找元素 多个元素查找 元素交互操作 交互动作 执行JavaScript 获取元素属性 获取文本值 Frame 等待 浏览器的前进和后退 选项卡管理 异常处理 ++++++++++++++++++++++++++++++++ 什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(…
每次用 selenium 操作浏览器都还原了 (比如没有浏览器历史记录)…
由于工作需要,需要提取到天猫400个指定商品页面中指定的信息,于是有了这个爬虫.这是一个使用 selenium 爬取天猫商品信息的爬虫,虽然功能单一,但是也算是 selenium 爬虫的基本用法了. 源码展示 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.…
简介: 用pyhon爬取动态页面时普通的urllib2无法实现,例如下面的京东首页,随着滚动条的下拉会加载新的内容,而urllib2就无法抓取这些内容,此时就需要今天的主角selenium. Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Mozilla Suite等.使用它爬取页面也十分方便,只需要按照访问步骤模拟人在操作就可以了,完全不用操心Cookie,Session…
图片懒加载技术 什么是图片懒加载技术 图片懒加载是一种网页优化技术.图片作为一种网络资源,在被请求时也与普通静态资源一样,将占用网络资源,而一次性将整个页面的所有图片加载完,将大大增加页面的首屏加载时间.为了解决这种问题,通过前后端配合,使图片仅在浏览器当前视窗内出现时才加载该图片,达到减少首屏图片请求数的技术就被称为“图片懒加载”. 如何实现图片懒加载技术 在网页源码中,在img标签中首先会使用一个“伪属性”(通常使用src2,original......)去存放真正的图片链接而并非是直接存放…
前面几节,我们学习了用 requests 构造页面请求来爬取静态网页中的信息以及通过 requests 构造 Ajax 请求直接获取返回的 JSON 信息. 还记得前几节,我们在构造请求时会给请求加上浏览器 headers,目的就是为了让我们的请求模拟浏览器的行为,防止被网站的反爬虫策略限制.今天要介绍的 Selenium 是一款强大的工具,它可以控制我们的浏览器,这样一来程序的行为就和人类完全一样了. 通过使用 Selenium 可以解决几个问题: 页面内容是由 JavaScript 动态生成…
目标 之前的自动答复机器人需要从一个内部网页上获取的消息用于回复一些问题,但是没有对应的查询api,于是想到了用脚本模拟浏览器访问网站爬取内容返回给用户.详细介绍了第一次探索python爬虫的坑. 准备工作 requests模块向网站发送http请求,BeautifulSoup模块来从静态HTML文本中提取我们想要的数据,更高级的,对于动态加载页面我们需要用webdriver去模拟真实的网页访问,并解析内容. 推荐使用Anaconda 这个科学计算版本,主要是因为它自带一个包管理工具,可以解决有…
前进关键字:driver.forward() 后退关键字:driver.back() 测试对象:1.https://www.baidu.com/ 2.https://www.sogou.com/ 实例代码: # 导入测试所需的库或者模块 from selenium import webdriver import unittest import time class ApitestStudy(unittest.TestCase): # 找到浏览器驱动并执行 def setUp(self): sel…
Selenium的使用 #!/usr/bin/env python # -*- coding:utf-8 -*- """ Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(在浏览器上点点点). 安装: pip3 install selenium 优缺点: 优:无需再自己操作cookie和header 缺:慢 依赖驱动: Firefox https://github.com/mozilla/geckodriver/releases Chrome http://c…
目录 1.操作浏览器自带弹窗 2.操作浏览器页面自定义弹窗 1.操作浏览器自带弹窗 (1)说明: webdriver中处理JavaScript所生成的alert.confirm 以及prompt 弹窗是很简单的.具体思路是使用switch_to.alert()方法定位到alert/confirm/prompt弹窗.然后使用text/accept/dismiss/send_keys 方法按需进行操做. (2)常用操作: 操作 说明 text 返回alert/confirm/prompt中的文字信息…
在python脚本中,使用selenium启动浏览器报错,原因是未安装浏览器驱动,报错内容如下: # -*- coding:utf-8 -*-from selenium import webdriver driver = webdriver.Firefox()driver.get("http://www.baidu.com") 报错提示如下所示: Traceback (most recent call last): File "D:\Program Files\Python3…
1.先附上效果图(我偷懒只爬了4页)  2.京东的网址https://www.jd.com/ 3.我这里是不加载图片,加快爬取速度,也可以用Headless无弹窗模式 options = webdriver.ChromeOptions() options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2}) #不加载图片 browser = webdriver.Chrome…
目录 1.导入Selenium库 2.创建浏览器对象 3.浏览器窗口大小设置 4.浏览器位置设置 5.请求访问网址 6.浏览器页面前进.后退和刷新 7.关闭浏览器 相比于高大上的各种Selenium进阶指南,个人认为夯实基础至关重要. 在Selenium测试框架的API中,主要分为三大类: 对浏览器本身的相关操作. 对浏览器页面中,元素的定位操作. 对浏览器页面中元素进行定位后,对该元素的一些操作.如:点击.输入等操作. 我们本篇文章先说说Selenium框架对浏览器对象的基础操作. 1.导入S…
目录 1.为什么操作滚动条 2.Selenium如何操作滚动条 3.Selenium操作滚动条方法 4.操作滚动条示例 5.下拉至聚焦元素的位置 (1)实现步骤: (2)实现示例: 1.为什么操作滚动条 在HTML页面中,由于前端技术框架的原因,页面中的一些元素为动态显示,元素根据滚动条的下拉而被加载. 例如:页面注册同意条款,需要滚动条到最底层,才能点击同意. 2.Selenium如何操作滚动条 Selenium的WebDriver类库中并没有直接提供对滚动条进行操作方法,但是Selenium…
/**     * 操作浏览器的cookie     */        @Test    public void testCookie()throws Exception{        driver.get("http://allinmd.com");        //得到当前页面下所有cookies,并输出他们所在域,name,value,有效日期和路径        Set<Cookie> cookies = driver.manage().getCookies(…
1.搜索关键字 利用Selenium驱动浏览器搜索关键字,得到查询后的商品列表 2.分析页码并翻页 得到商品页码数,模拟翻页,得到后续页面的商品列表 3.分析提取商品内容 利用PyQuery分析源码,解析得到商品列表 4.存储至MongoDB 将商品列表信息存储到数据库MongoDB 无法解决登录的问题,所以代码还是需要修改 from selenium import webdriver from selenium.common.exceptions import TimeoutException…
selenium 基础用法 阅读目录 初识selenium 基本使用 查找元素 元素互交操作 执行JavaScript 获取元素信息 等待 前进后退 Cookies 选项卡管理 异常处理 初识selenium selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转.输入.点击.下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 声明浏览器对象: from…
自动化测试工具,支持多种浏览器.爬虫中主要用来解决JavaScript渲染的问题. 用法讲解 模拟百度搜索网站过程: from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support import expected_conditions as EC fro…
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: python小爬虫 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef 效果图,其中涉及一些真名我就打码了,还有qq号我也打码了,见谅 分析登陆的元素,下图一目了然,怎么获取这个登陆元素应该都知道了 代码奉上…
1,引言 在Python网络爬虫内容提取器一文我们详细讲解了核心部件:可插拔的内容提取器类gsExtractor.本文记录了确定gsExtractor的技术路线过程中所做的编程实验.这是第二部分,第一部分实验了用xslt方式一次性提取静态网页内容并转换成xml格式.留下了一个问题:javascript管理的动态内容怎样提取?那么本文就回答这个问题. 2,提取动态内容的技术部件 在上一篇python使用xslt提取网页数据中,要提取的内容是直接从网页的source code里拿到的.但是一些Aja…
实际测试过程中经常遇到打开一个页面并不是全屏显示,但是却希望它能够全屏显示或者新增一条记录后需要刷新一下看能不能再列表中正常显示. 于是就有了今天的关于对浏览器窗口的最大化和刷新页面.需要说明的一点:所有和python相关的记录都是基于3.6版本操作 窗口最大化关键字:maximize_window() 当前窗口进行刷新:refresh() 测试对象:https://www.baidu.com/ 代码实例: from selenium import webdriver import unitte…
Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等.这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能——创建回归测试检验软件功能和用户需求.支持自动录制动作和自动生成 .Net.Java.Perl等不同语言的测试…
一.浏览器操作 1.浏览器最大化 driver.maximize_window() #将浏览器最大化显示 2.设置浏览器宽.高 driver.set_window_size(480, 800)#设置浏览器宽480.高800显示 3.控制浏览器前进.后退 driver.back()#浏览器后退 driver.forward()#浏览器前进 二.简单对象的定位 webdriver 提供了一系列的元素定位方法,常用的有以下几种: id name class name tag name link tex…
---恢复内容开始--- 一. 先介绍图片懒加载技术 当获取一个网站的图片数据时,只能爬取到图片的名称,并不能获得链接,而且也不能获得xpath表达式.这是应用了图片懒加载技术. - 图片懒加载技术的概念: -- 图片懒加载是一种网页优化技术.图片作为一种网络资源,在被请求时也与普通静态资源一样,将占用网络资源,而一次性将整个页面的所有图片加载完,将大大增加页面的首屏加载时间.为了解决这种问题,通过前后端配合,使图片仅在浏览器当前视窗内出现时才加载该图片,达到减少首屏图片请求数的技术就被称为“图…
对于静态网页,使用requests等库可以很方便的得到它的网页源码,然后提取出想要的信息.但是对于动态网页,情况就要复杂很多,这种页面的源码往往只有一个框架,其内容都是由JavaScript渲染出来的.这时候,我们就可以使用selenium来直接驱动浏览器进行爬取. selenium是一个自动化测试工具,利用它可以驱动浏览器进行一系列操作,并且可以得到当前呈现的网页的源码,对动态页面的爬取非常有效.下面来说一下selenium的简单使用. 一.安装 1. selenium 推荐使用pip直接安装…