博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Selenium抓取百度指数一
阅读量:6920 次
发布时间:2019-06-27

本文共 1703 字,大约阅读时间需要 5 分钟。

抓百度指数的数据,比较简单的演示: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

你可能感兴趣的文章
JVM
查看>>
简易日期类
查看>>
MySQL深入07-查询缓存
查看>>
我的友情链接
查看>>
解决若要安装 Microsoft Office 2010,需要MSXML 版本 6.10.1129的问题
查看>>
centos网络设置
查看>>
OpenX开源广告系统学习分析总结
查看>>
make: Nothing to be done for `unix'
查看>>
谷歌释出Daydream Ready手机要求 看看你的手机达标没
查看>>
Java回调机制解读
查看>>
对Oracle软软解析的一点看法
查看>>
使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库
查看>>
如何从终端发送桌面通知给用户(notify-send)
查看>>
[喵咪海外部署]海外部署访问技术探索
查看>>
jfinal 整合logback
查看>>
VIM配置及基本命令
查看>>
前端那些事之原生js封装jquery
查看>>
oracle windows rman backup
查看>>
LINUX下查找最耗IOWAIT的进程(转)
查看>>
Spring事务管理
查看>>