Python爬虫(二十三)_selenium案例:动态模拟页面点击

时间:2022-09-23 10:35:55

本篇主要介绍使用selenium模拟点击下一页,更多内容请参考:Python学习指南

#-*- coding:utf-8 -*-

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
import time class douyuSelenium(unittest.TestCase):
#初始化方法
def setUp(self):
self.driver = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any']) #具体的测试用例方法,一定要以test开头
def testDouyu(self):
self.driver.get("http://www.douyu.com/directory/all") while True:
#指定xml解析
soup = BeautifulSoup(self.driver.page_source, "lxml") #返回当前页面的所有房间标题列表和观众人数列表
titles = soup.find_all('h3' , {'class':"ellipsis"})
print(len(titles))
nums = soup.find_all('span', {'class': "dy-num fr"}) # #使用zip()函数把列表合并,并创建一个远相对的列表[(1, 2), (3, 4)]
for title, num in zip(nums, titles):
print(u'观众人数: '+num.get_text().strip(), u'\t房间标题: '+title.get_text().strip())
#page_source.find()未找到内容则返回-1
if self.driver.page_source.find('shark-pager-disable-next') != -1:
break
self.driver.find_element_by_class_name('shark-pager-next').click()
time.sleep(1) # 退出时的清理方法
def tearDown(self):
print("加载完成...")
self.driver.quit() if __name__ == '__main__':
unittest.main()

Python爬虫(二十三)_selenium案例:动态模拟页面点击的更多相关文章

  1. Python爬虫(二十一)_Selenium与PhantomJS

    本章将介绍使用Selenium和PhantomJS两种工具用来加载动态数据,更多内容请参考:Python学习指南 Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试 ...

  2. Python爬虫二

    常见的反爬手段和解决思路 1)明确反反爬的主要思路 反反爬的主要思路就是尽可能的去模拟浏览器,浏览器在如何操作,代码中就如何去实现;浏览器先请求了地址url1,保留了cookie在本地,之后请求地址u ...

  3. Python爬虫实战——反爬策略之模拟登录【CSDN】

    在<Python爬虫实战-- Request对象之header伪装策略>中,我们就已经讲到:=="在header当中,我们经常会添加两个参数--cookie 和 User-Age ...

  4. &lbrack;Python爬虫&rsqb; 之十三:Selenium &plus;phantomjs抓取活动树会议活动数据

    抓取活动树网站中会议活动数据(http://www.huodongshu.com/html/index.html) 具体的思路是[Python爬虫] 之十一中抓取活动行网站的类似,都是用多线程来抓取, ...

  5. Python爬虫&lpar;二十二&rpar;&lowbar;selenium案例:模拟登陆豆瓣

    本篇博客主要用于介绍如何使用selenium+phantomJS模拟登陆豆瓣,没有考虑验证码的问题,更多内容,请参考:Python学习指南 #-*- coding:utf-8 -*- from sel ...

  6. Python爬虫&lpar;二十四&rpar;&lowbar;selenium案例:执行javascript脚本

    本章叫介绍如何使用selenium在浏览器中使用js脚本,更多内容请参考:Python学习指南 隐藏百度图片 #-*- coding:utf-8 -*- #本篇将模拟执行javascript语句 fr ...

  7. Python爬虫&lpar;二十&rpar;&lowbar;动态爬取影评信息

    本案例介绍从JavaScript中采集加载的数据.更多内容请参考:Python学习指南 #-*- coding:utf-8 -*- import requests import re import t ...

  8. python爬虫入门(五)Selenium模拟用户操作

    爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider) 之间恢宏壮阔的斗争... 小莫想要某站上所有的电影,写了标准的爬虫(基于HttpClient库), ...

  9. Python爬虫实战点触验证码, 模拟登陆bilibili

    爬虫思路如下: 利用自动化爬虫工具 Selenium 模拟点击输入等操作来进行登录 分析页面,获取点触验证码的点触图片,通过将图片发送给超级鹰打码平台识别后获取坐标信息 根据超级鹰返回的数据,模拟坐标 ...

随机推荐

  1. MVC之前的那点事儿系列(10):MVC为什么不再需要注册通配符(&ast;&period;&ast;)了?

    文章内容 很多教程里都提到了,在部署MVC程序的时候要配置通配符映射(或者是*.mvc)到aspnet_ISPAI.dll上,在.NET4.0之前确实应该这么多,但是.NET4.0之后已经不要再费事了 ...

  2. python 学习中遇到的问题

    一.安装pip中遇到的问题. 出现错误:ImportError:DLL load failed :%1不是有效的win32应用程序 出现问题解答: 主要是由于安装的python版本和所下载的安装包版本 ...

  3. PAT1038&period; Recover the Smallest Number

    //意识到一个重要错误,一直以为atoi,itoa是windows独有的,linux下不可用,直到刚刚... //string+=比strcat好用多了,字符比较也方便的多,但是用scanf读入str ...

  4. 【转】DataGridView之为每行前面添加序号

    //最简单的方法是在Datagridview的事件RowPostPaint事件下面添加如下代码即可 private void dataGridView1_RowPostPaint(object sen ...

  5. 产生不重复的随机数TGUID

    uses ActiveX; procedure TForm1.BtnNewClick(Sender: TObject);var  ID: TGUID;  S: string;begin  if CoC ...

  6. Redis起步

    Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章: 1.Redis简介  Redis是一个key-value存储系统.和Memcached类似,但是解决 ...

  7. ExtJS4 根据分配不同的树形菜单在不同的角色登录后

    继续我的最后.建立cookie后,带他们出去 var userName = Ext.util.Cookies.get('userName'); var userAuthority = Ext.util ...

  8. Thymeleaf的超链接与AJAX的跳转问题

    //th:href :超链接<a th:href="@{/list}"></a>//可以在其他页面跳转yt <form id="msform ...

  9. docker 配置 http 访问

    编辑docker宿主机文件/lib/systemd/system/docker.service sudo vi /lib/systemd/system/docker.service 修改以ExecSt ...

  10. 使用拷贝文件测试(BufferedInputStream,FileInputStream)

    package com.demo; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...