一:因为百度指数的搜索必须先登录才能进行下一步操作,所以先解决登录的问题。

解决登录有两种常用方式:1  利用cookie来登录  2 破解验证码进行登录

如果用phantomjs就能直接截取全图,更利于统计图精确定位了

1:add_Cookie:

用 Chrome():

将登录前的cookie获得,get_cookies()

将所有列表值进行打印。

再将手动登录后的cookie获得,对比登录前和登录后的cookie发现,登录后的cookie比登录前的cookie的长度多2.

对比哪里不同,将不同的cookie设置变量分别为 cookie1,cookie2

或者直接先delete_all_cookie  再直接将所有登录后的cookie用for循环进行全部的添加

2:refresh页面刷新,并全屏窗口以便截图:

指数搜索填写

3:DOWN键盘将窗口滑动到底部,save图片:

因为chrome无法截取全图,那么我们先把他滑动到底部

4:调用PIL的Image模块打开图片操作:

获取元素,并用location取得元素在网页的位置

对将位置进行滑动后,y轴的元素位置的参数进行变化

做x轴和大小的微调。

用croll进行精确局部截图

5:获得统计图:

chrome代码如下:

# -*- coding:utf-8 -*-
import time

import PIL
from PIL import Image
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys

def main():
    driver = webdriver.Chrome()
    driver.delete_all_cookies()
    driver.get('http://index.baidu.com/')
    driver.maximize_window()
    driver.save_screenshot('zhishu.png')
    driver.delete_all_cookies()
    # isover = int(raw_input('完成?1/2'))
    isover = 1
    print isover==1
    if isover == 1:
        cookie1 =
        # cookie1 =
        # cookie2 =
        for i in cookie1:
            driver.add_cookie(i)

time.sleep(5)
    driver.refresh()
    print '登陆成功!保存登陆快照'
    time.sleep(3)
    driver.save_screenshot('new.png')
    # whatSearch = raw_input('您想搜索什么指数?')
    whatSearch = '特朗普'
    driver.find_element_by_id('schword').send_keys(whatSearch.decode('utf-8'))
    time.sleep(1)
    driver.find_element_by_id('searchWords').click()
    time.sleep(2)
    driver.maximize_window()
    time.sleep(2)
    builder = ActionChains(driver)
    for down in range(0,4):
        builder.key_down(Keys.DOWN).perform()
    time.sleep(3)
    driver.save_screenshot('tlpAll.png')

imgObj = driver.find_element_by_xpath('//*[@id="trend"]')
    left = imgObj.location['x']
    top = imgObj.location['y']
    right = imgObj.location['x'] + imgObj.size['width']
    bottom = imgObj.location['y'] + imgObj.size['height']

im = Image.open('tlpAll.png')
    im = im.crop((left+15, top-280, right-15, bottom-418))
    im.save('telangpu.png')

if __name__ == "__main__":
    main()

python如何登录并爬取获得百度指数统计图数据相关推荐

  1. Python爬虫系列之爬取微信公众号新闻数据

    Python爬虫系列之爬取微信公众号新闻数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发 > 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学习交流 ...

  2. Python Scrapy 爬虫框架爬取推特信息及数据持久化!整理了我三天!

    最近要做一个国内外新冠疫情的热点信息的收集系统,所以,需要爬取推特上的一些数据,然后做数据分类及情绪分析.作为一名合格的程序员,我们要有「拿来主义精神」,借助别人的轮子来实现自己的项目,而不是从头搭建 ...

  3. 强智科技教务系统学科成绩c语言,湖南强智科技教务系统python模拟登录并爬取成绩(财院)...

    其实之前有写过一篇帖子了 在之前使用教务系统的过程中,偶然一次发现登上教务系统后再退出来的后的登录网址竟然不需要验证码,想着之前有写过教务系统的爬虫模拟登录,没验证码的岂不是更好干(之前那次折腾了好久 ...

  4. Windows下利用python+selenium+firefox爬取动态网页数据(爬取东方财富网指数行情数据)

    由于之前用urlib和request发现只能获取静态网页数据,目前爬取动态网页有两种方法, (1)分析页面请求 (2)Selenium模拟浏览器行为(霸王硬上弓),本文讲的就是此方法 一.安装sele ...

  5. Python爬虫实战:爬取福利彩票双色球中奖结果数据

    一.工程目录 二.python爬虫三步骤 2.1 获取数据 这里爬取数据使用request的库,使用get/post接口请求来做数据的获取即可. 数据获取一般有静态页面数据获取.动态数据获取.伪装请求 ...

  6. Python爬虫之Selenium爬取途牛全国的酒店数据进行地图可视化

    因为找不太到途牛的url规律,就只能慢慢爬取数据,由于页面加载的时间很慢,用一台电脑爬取4000+数据可能需要数小时,这里只是简单实现了每个城市的第一页数据,可以在这个基础上实现多个页面一起爬和强化翻 ...

  7. python自动登录网站爬取数据_Python爬虫实战:自动化登录网站,爬取商品数据

    前言 随着互联网时代的到来,人们更加倾向于互联网购物.某东又是电商行业的巨头,在某东平台中有很多商家数据.今天带大家使用python+selenium工具获取这些公开的商家数据 适合阅读人群:sele ...

  8. Python 手把手教你爬取淘宝的笔记本电脑数据

      如果觉得文章写得好,如果你想要获取本文的所有数据,请关注公众号:[数据分析与统计学之美],添加作者[个人微信],进群和作者交流! 目录   1.selenium模块的安装与chromedriver ...

  9. python爬虫篇2——爬取深圳证券交易所股票金融数据

    程序运行截图: mysql代码: create database financial; use financial; CREATE TABLE `lrb` (`id` int(11) NOT NULL ...

  10. Python爬虫实战:爬取贝壳网二手房成交数据,将数据存入Excel。

    import requests import xlrd as xlrd from xlutils.copy import copy from lxml import etree def getData ...

最新文章

  1. 安全检测点的一些梳理——待长期整理
  2. 一些关于bootstrap,bagging,Adaboost,random forest, gradient boost的基本理解
  3. 从EXCEL文件将数据导入数据库的向导程序设计!
  4. SAP CRM 产品主数据搜索时的权限检查实现 - Product search authorization check
  5. 华为推出业界首个分布式云原生产品:华为云UCS,持续创新,深耕数字化
  6. 0 0/2 * * * ? linux文本含义,Linux基础2.0
  7. fatal error LNK1120: 11 unresolved externals
  8. work summary(3)
  9. jQuery学习笔记(4)-设置元素的属性和样式
  10. .net core2 发送电子邮件封装
  11. RMAN 数据库克隆文件位置转换方法
  12. DB9 公头母头引脚定义及连接、封装
  13. 盈透IBKR IBAPI Quant | Database | 通过盈透ibapi下载历史数据 Part 01
  14. 计算机cdr教程,计算机平面设计案例教程 (Photoshop+CorelDRAW)
  15. java hevc和heif_什么是HEVC和HEIF?有什么优缺点?
  16. win10的ie保存html文件夹,win10系统IE缓存文件夹在哪里,详细教您IE缓存文件在哪里...
  17. 谷歌地图 经纬加密_Google开始加密搜索
  18. 手把手教你用jQuery Mobile做相册
  19. Scratch软件编程等级考试三级——20200913
  20. 一文详解IMU模型原理和标定选型

热门文章

  1. Windows系统文件结构
  2. python小甲鱼课后作业_小甲鱼python课后习题总结
  3. 烂到不想考研!大学糟糕宿舍大盘点!
  4. GDI+ C 画图 输出文字
  5. iPhone如何快速设置自定义铃声?苹果手机铃声设置教程
  6. 性质:自反、反自反、对称、反对称、传递、互斥
  7. 一个英文字母,一个中文各占多少字节
  8. Threejs中使用A*算法寻路导航,Threejs室内室外地图导航
  9. Python实现穷举破解WiFi密码
  10. java 音频波形图_java读取wav文件(波形文件)并绘制波形图的方法