本来是想给学生们演示如果使用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") # 由于这里图片数据无法直接抓取,所以先截图保存
if __name__ == '__main__': # 主函数
openbrowser()
resultString=deal("黑客帝国",2018,5,25)
以上就是本篇文章【使用Selenium抓取百度指数一】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/19.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多