使用Selenium抓取百度指数一

抓百度指数的数据,比较简单的演示:selenium+浏览器(我这是Firefox)的代码。

代码如下:

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

import time

# 此函数用于打开浏览器
def openbrowser():
    global browser
    url = "http://index.baidu.com/"#百度指数网站
    browser = webdriver.Firefox()
    browser.get(url)
    # 点击网页的登录按钮              
    browser.find_element_by_xpath("/html/body/div/div[1]/div[2]/div[1]/div[4]/span/span").click()
    time.sleep(3)
    #传入账号密码
    account="你的百度账号"
    passwd="你百度账号的密码"
    try:
        browser.find_element_by_id("TANGRAM__PSP_4__userName").send_keys(account)
        browser.find_element_by_id("TANGRAM__PSP_4__password").send_keys(passwd)
        browser.find_element_by_id("TANGRAM__PSP_4__submit").click()
    except:
        browser.find_element_by_id("TANGRAM_12__password").send_keys(account)
        browser.find_element_by_id("TANGRAM_12__userName").send_keys(passwd)
        browser.find_element_by_id("TANGRAM_12__submit").click()

time.sleep(3)

def deal(name):
    # 清空网页输入框
    browser.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[1]/div/div[2]/form/input[3]").clear()
    # 写入需要搜索的百度指数
    browser.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[1]/div/div[2]/form/input[3]").send_keys(name)
    # 点击搜索
    try:
        browser.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[1]/div/div[2]/div/span").click()
    except:
        browser.find_element_by_id("schsubmit").click()
    time.sleep(2)
    browser.execute_script("window.scrollTo(0,1000)") # 执行滚屏操作
    browser.save_screenshot("baiduIndex.png")           # 由于这里图片数据无法直接抓取,所以先截图保存

 browser.close()

 browser.quit()

if __name__ == ‘__main__‘:  # 主函数

openbrowser()

resultString=deal("黑客帝国",2018,5,25)

PS:代码只是实现selenium的初步演示,没有考虑异常及复杂的滚屏处理。另外,这里使用XPath,可读性较差,同时如果网站稍有改版,代码可能需要进一步更新。

原文地址:https://www.cnblogs.com/daluozi/p/9466887.html

时间: 2024-10-05 05:50:02

使用Selenium抓取百度指数一的相关文章

Python3抓取百度贴吧图片

我抓取的地址是http://tieba.baidu.com/p/3125473879?pn=2,这个帖子共有82页左右,下面的代码主要抓取82页的所有图片,具体代码如下: """抓取百度贴吧图片""" #导入模块 import re import urllib from urllib.request import urlopen,urlretrieve #获取抓取页面的源代码 def getHtml(url):     page = urlope

php抓取百度快照、百度收录、百度热词程序代码

<?/*抓取百度收录代码*/function baidu($s){ $baidu="http://www.baidu.com/s?wd=site%3A".$s; $site=file_get_contents($baidu); //$site=iconv("gb2312", "UTF-8", $site); ereg("找到相关网页(.*)篇,", $site,$count); $count=str_replace(&q

爬虫抓取百度贴吧帖子内容

上篇文章已经介绍了抓取糗事百科的段子,这篇文章来抓取百度贴吧帖子内容,涉及到urllib,urllib2,re等模块. 代码实现功能: 1.获取某一个帖子的标题 2.获取帖子回复的所有页数,以及每一页的内容 3.可以只获取楼主的回复(使用数字1声明),或者所有回复(使用数字0声明) 直接使用oop编程的方式编写代码: 代码如下: #!/usr/bin/env python #coding:utf8 import urllib import urllib2 import re #处理页面标签类 c

用PHP抓取百度贴吧邮箱数据

注:本程序可能非常适合那些做百度贴吧营销的朋友. 去逛百度贴吧的时候,经常会看到楼主分享一些资源,要求留下邮箱,楼主才给发. 对于一个热门的帖子,留下的邮箱数量是非常多的,楼主需要一个一个的去复制那些回复的邮箱,然后再粘贴发送邮件,不是被折磨死就是被累死.无聊至极写了一个抓取百度贴吧邮箱数据的程序,需要的拿走. 程序实现了一键抓取帖子全部邮箱和分页抓取邮箱两个功能,界面懒得做了,效果如下: 老规矩,直接贴源码 <?php $url2=""; $page="";

C#.Net使用正则表达式抓取百度百家文章列表

工作之余,学习了一下正则表达式,鉴于实践是检验真理的唯一标准,于是便写了一个利用正则表达式抓取百度百家文章的例子,具体过程请看下面源码: 一:获取百度百家网页内容 1 public List<string[]> GetUrl() 2 { 3 try 4 { 5 string url = "http://baijia.baidu.com/"; 6 WebRequest webRequest = WebRequest.Create(url); 7 WebResponse web

selenium抓取淘宝数据报错:warnings.warn(&#39;Selenium support for PhantomJS has been deprecated, please use headless

ssh://[email protected]:22/root/anaconda3/bin/python3 -u /www/python3/maoyantop100/meishi_selenium.py /root/anaconda3/lib/python3.6/site-packages/selenium/webdriver/phantomjs/webdriver.py:49: UserWarning: Selenium support for PhantomJS has been depre

用Selenium抓取新浪天气

(1)用Selenium抓取新浪天气 系统环境: 操作系统:macOS 10.13.6 python :2.7.10 用虚拟环境实现 一.创建虚拟环境: mkvirtualenv --python=/usr/bin/python python_2 二.激活虚拟环境: workon python_2 三.安装Selenium pip install Selenium 四.安装firefox的Selenium补丁文件: brew install geckodriver 五.在~/.bash_prof

使用Selenium爬取百度文库word文章

转载请注明作者和出处: http://blog.csdn.net/c406495762 运行平台: Windows Python版本: Python3.x IDE: Sublime text3 前言 问题分析 预备知识 1 Selenium 11 简介 12 安装 13 基础知识 131 小试牛刀 132 模拟提交 133 元素选取 134 界面交互 135 添加User-Agent 2 Xpath 动手实战 1 页面切换 2 内容爬取 3 整体代码 总结 1 前言 大家都应该有过从百度文库下载

http协议请求实战——get请求示例之抓取百度搜索关键词对应网页信息

1通过分析搜索关键词对应的网址发现字段名和内容均在网址中网址可简化为www.baidu.com/s?wd=搜索的关键词 根据分析出的规律可通过构造get请求用爬虫实现在百度上自动查询某个关键词 代码如下: import urllib.request 导入urllib.requestkeywd = '高同同' 指定关键词keywd_cod = urllib.request.quote(keywd)将关键词进行编码url = 'https://www.baidu.com/s?wd='输入网址url_