-
2020-12-21 06:05:21
动态页面的模拟点击:
以斗鱼直播为例:http://www.douyu.com/directory/all
爬取每页的房间名、直播类型、主播名称、在线人数等数据,然后模拟点击下一页,继续爬取
#!/usr/bin/python3
# -*- coding:utf-8 -*-
__author__ = 'mayi'
"""
动态页面的模拟点击:
模拟点击斗鱼直播:http://www.douyu.com/directory/all
爬取每页房间名、直播类型、主播名称、在线人数等数据,然后模拟点击下一页,继续爬取
"""
from selenium import webdriver
import json
# 调用环境变量指定的PhantomJS浏览器创建浏览器对象,executable_path:指定PhantomJS位置
driver = webdriver.PhantomJS(executable_path = r"D:\Program Files\phantomjs\bin\phantomjs")
from bs4 import BeautifulSoup
class DouyuSpider(object):
"""
爬虫类
"""
def __init__(self):
self.url = "http://www.douyu.com/directory/all/"
self.driver = webdriver.PhantomJS()
self.file_name = open("douyu.json", "w", encoding = "utf-8")
def run(self):
"""
爬虫开始工作
"""
self.driver.get(self.url)
# 循环处理每一页,直至最后一页
page = 1
start_flag = True
while True:
# 等待3秒,防止访问过于频繁
self.driver.implicitly_wait(3)
print("正在处理第" + page + "页......")
page += 1
# 解析
soup = BeautifulSoup(self.driver.page_source, "lxml")
# 在线直播部分
online_live = soup.find_all('ul', {'id': 'live-list-contentbox'})[0]
# 房间列表
live_list = online_live.find_all('li')
# 处理每一个房间
for live in live_list:
# 房间名、直播类型、主播名称、在线人数
# 房间名
home_name = live.find_all('h3', {'class': 'ellipsis'})[0].get_text().strip()
# 直播类型
live_type = live.find_all('span', {'class': 'tag ellipsis'})[0].get_text().strip()
# 主播名称
anchor_name = live.find_all('span', {'class': 'dy-name ellipsis fl'})[0].get_text().strip()
# 在线人数
online_num = live.find_all('span', {'class' :'dy-num fr'})[0].get_text().strip()
# print(home_name, live_type, anchor_name, online_num)
item = {}
item["房间名"] = home_name
item["直播类型"] = live_type
item["主播名称"] = anchor_name
item["在线人数"] = online_num
if start_flag:
start_flag = False
content = "[\n" + json.dumps(item)
else:
content = ",\n" + json.dumps(item)
self.file_name.write(content)
# 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()
# 爬虫结束前关闭文件
self.file_name.write("\n]")
self.file_name.close()
if __name__ == '__main__':
douyu = DouyuSpider()
douyu.run()
更多相关内容 -
易语言模拟点击按钮
2020-07-21 11:18:49易语言模拟点击按钮源码,模拟点击按钮,启动同步工具,模拟退出,模拟设置,模拟按键,Enum,取窗口标题_,进程名取PID,PID取路径,CreateToolhelp32Snapshot,Process32First,Process32Next,OpenProcess,ZwTerminateProcess,... -
Javascript 模拟点击事件(点击链接与html点击) 兼容IE/Firefox
2020-10-29 11:08:32Javascript 模拟点击事件,一般情况下ie支持的,firefox并不支持。所以可以通过下面的方法解决。 -
Python爬虫实现模拟点击动态页面
2020-09-17 18:51:09主要介绍了Python爬虫实现模拟点击动态页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 -
多窗口后台游戏模拟点击器.rar
2021-11-09 13:14:12可以多开,后台模拟点击 -
ZSFakeTouch iOS模拟点击屏幕
2020-10-02 19:28:19iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 -
易语言源码鼠标模拟点击器易语言源码.rar
2020-02-23 04:41:49易语言源码鼠标模拟点击器易语言源码.rar 易语言源码鼠标模拟点击器易语言源码.rar 易语言源码鼠标模拟点击器易语言源码.rar 易语言源码鼠标模拟点击器易语言源码.rar 易语言源码鼠标模拟点击器易语言源码.rar ... -
百度seo快排点击系统源码[易语言]拨号模拟点击
2020-11-14 16:28:20【百度seo快排点击系统源码】易语言写的利用chrome模拟点击自己网站排名,从而提高百度搜索排名的软件源码。真实可用,请勿用作非法用途。 -
winfrom_cefSharp实现淘宝模拟点击事例1226
2019-12-26 15:48:12winfrom_cefSharp实现淘宝模拟点击事例,有需要的朋友看下吧 。 -
Android模拟点击
2018-02-22 17:04:04模拟按键精灵对android手机屏幕固定位置进行周期性地点击,进行点击任务后可以进入后台执行,可以设置点击的位置,点击的时间间隔 -
winfrom_cefSharp实现淘宝模拟点击实例
2019-04-28 21:12:11C# winfrom cefSharp实现淘宝模拟点击购买的实例源码。 -
js模拟点击select下拉菜单列表代码
2019-11-19 22:24:00js模拟点击select下拉菜单列表代码 js模拟点击select下拉菜单列表代码 js模拟点击select下拉菜单列表代码 js模拟点击select下拉菜单列表代码 -
PTFakeTouchDemo iOS模拟点击屏幕例子
2020-10-02 19:29:40iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟... -
代码模拟点击反控iOS页面
2019-12-10 15:18:00代码模拟点击反控iOS页面,通过坐标模拟iOS页面的点击。代码模拟点击反控iOS页面,通过坐标模拟iOS页面的点击。 -
WebBrowser模拟点击
2013-04-25 11:20:48输入想要点击的网页URL、自定义X轴、Y轴坐标、进行鼠标WebBrowser模拟点击、连击次数均可自定义(代码所属一朋友:星辰) -
易语言鼠标模拟点击器
2020-07-21 15:03:40易语言鼠标模拟点击器源码,鼠标模拟点击器 -
python模拟点击
2020-11-30 02:56:01广告关闭腾讯云11.11云上...python怎么模拟点击网页按钮前提环境:python3 和 visual studio code安装完毕安装selenium : 在终端输入:pip install selenium, 如图? 下载chromedriver : 登录http:chromedriver.storage...广告关闭
腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!
python怎么模拟点击网页按钮前提环境:python3 和 visual studio code安装完毕安装selenium : 在终端输入:pip install selenium, 如图? 下载chromedriver : 登录http:chromedriver.storage.googleapis.comindex.html 下载(与浏览器对应版本请上网查阅)下载后将chromedriver.exe文件放至python.exe所在目录 如: d...
#python模拟点击是通过pymouse实现的,首先要安装pymouse。 pipinstallpython-xlibpipinstallpymouse#安装win32api:http:down.51cto.comdata2326324#python打开windos程序的方式:#coding=utf-8importosos.startfile(e:youxicorrespond.exe)#pythonpymouse的简单应用:#python模拟鼠标#coding=utf-8frompymouse...
动态页面的模拟点击:以斗鱼直播为例:http:www.douyu.comdirectoryall爬取每页的房间名、直播类型、主播名称、在线人数等数据,然后模拟点击下一页,继续爬取代码如下#! usrbinpython3# -*- coding:utf-8 -*-__author__ = mayi动态页面的模拟点击:模拟点击斗鱼直播:http:www.douyu.comdirectoryall爬取每页房间名...
k.type_string(‘hello, python!’)# –模拟键盘输入字符串k.press_key(‘a’) #–模拟键盘按a键k.release_key(‘a’)# –模拟键盘松开a键k.tap_key(“b”)#–模拟点击b键k.tap_key(‘h’,n=2,interval=5)#–模拟点击h键,2次,每次间隔5秒k.tap_key(k.function_keys)#–点击功能键f5k.tap_key(k.numpad_keys,3) #–...
我正在编写一个程序,它将在(x,y)处单击鼠标,将其移动到(a,b),然后等待鼠标下的颜色达到一定的颜色,比如#fff。 当它是那个颜色,它再次点击,然后重复。 我无法为python找到一个很好的鼠标相关的api...
8003usercddjango-spring-cloud1.0userpip3install-rrequirements.txtpython3manage.pyrunserver0. 0.0.0: 8004gatewaycddjango-spring-cloud1.0gateway...二、项目演示1.0简介spring cloud功能比较多,这里使用6个django项目,来模拟java spring cloud架构,采用单入口模式调用api不涉及ribbon,hystrix...
今天学习了python模拟登陆,然后自己进行一下总结,以csdn登录为例子,浏览器为chrome1:直接携带cookie请求url地址1.1cookie放在headers中import requests#1. 直接携带cookie请求url地址url=https:www.csdn.net#cookie放在headers中headers={user-agent:mozilla5.0 (linux; android6.0; nexus 5 buildmra58n) apple...
python模拟登陆让不少人伤透脑筋,今天奉上一种万能登陆方法。 你无须精通html,甚至也无须精通python,但却能让你成功的进行模拟登陆。 本文讲的是登陆所有网站的一种方法,并不局限于微博与知乎,仅用其作为例子来讲解。 用到的库有“selenium”和“requests”。 通过selenium进行模拟登陆,然后将cookies传入...
前言最近在研究模拟登陆,看了很多教程,发现基本上都是只教怎么处理后就能登陆成功,没有讲解怎样得到处理的方法。 经过的一天的研究,把微博模拟登陆基本上弄清楚了,下面就把过程详细说明。 ----工具和环境1. 语言:python32.ide: pycharm3. 浏览器:chrome4. 使用的库:re, rsa, base64, requests, pil,urllib...
因此若读者能对正则表达式有一定的了解,可能会更加随心应手,我会在文章最后对相关知识做以补充. 1.怎么理解模拟登陆? 把这句话补全就是 怎么(让机器人)模拟(人在浏览器上的行为)登陆(指定网站)2. 人在登陆时做了哪些事情呢? i.打开登陆页面 ii.输入用户名和密码(有时可能还有验证码) iii.点击登陆iv.等待浏览器自动...
在python中可以使用selenium库来调用浏览器,写在代码里的操作(打开网页、点击...)会变成浏览器忠实地执行。 这个被控制的浏览器可以是firefox,chrome...目录方法一:直接使用已知的cookie访问方法二:模拟登录后再携带得到的cookie访问方法三:模拟登录后用session保持登录状态方法四:使用无头浏览器访问...
首先进入github登录页:https:github.comlogin输入账号密码,打开开发者工具,在network页勾选上preserve log(显示持续日志),点击登录,查看session请求,找到其请求的url与form data、headers。 此时除cookies与authenticity_token无法直接获得外,其余模拟登录所需参数皆已获得。 我们进入登录页点击登录后...
在python中可以使用selenium库来调用浏览器,写在代码里的操作(打开网页、点击...)会变成浏览器忠实地执行。 这个被控制的浏览器可以是firefox,chrome...模拟登录piao.x.com(先使用chrome抓包,输入一个错误的账号密码): import urllib,urllib2,cookielib username=name password=pass loginurl=http...
到此这篇关于python模拟登入的n种方式的文章就介绍到这了,更多相关python 模拟登入内容请搜索zalou.cn...点击登入界面browser.switch_to.frame(popup_login_frame) #进入表单中browser.find_element_by_css_selector(#username).clear()browser.find...
本篇主要介绍使用selenium模拟点击下一页,更多内容请参考:python学习指南 #-*- coding:utf-8 -*- import unittestfrom selenium import webdriverfromselenium.webdriver.common.keys import keysfrom bs4 import beautifulsoupimporttime class douyuselenium(unittest.testcase): #初始化方法 def setup(self)...
python模拟登录设置一个cookie处理对象,它负责 将cookie添加到http请求中,并能从http响应中得到cookie , 向网站登录页面发送一个请求request, 包括登录url,post请求的数据,http header 利用urllib2.urlopen发送请求,接收web服务器的response。 首先我们查看登陆页面源码? 当我们使用urllib处理url的时候,实际...
经过多次抓取发现appid、redirect_uri、fun、lang参数都是固定的,而_是一串变化的数字,我们在之前模拟京东商城的文章提过,它其实是一个时间戳,如果不清楚可以回顾一下python爬虫之模拟登录京东商城。 知道这些参数,模拟get发送出去就可以了。 那么我们为什么要模拟这一步呢? 是因为访问这个链接会有如下的响应...
为什么要模拟登陆? python网络爬虫应用十分广泛,但是有些网页需要用户登陆后才能获取到信息,所以我们的爬虫需要模拟用户的登陆行为,在登陆以后保存登陆信息,以便浏览该页面下的其他页面。 保存用户信息模拟登陆后有两种方法可以保存用户信息,通过session来保存登陆信息或者通过cookie来保存登陆信息一、session...
python编写计算器,供大家参考,具体内容如下(1)计算器界面如下:? (2)基本满足了计算器的所有需求,使用时不可键盘输入,只能鼠标点击左键才可执行。 初始时显示0.0,每次输入的内容存于d:num.txt(启动程序时自动创建)(3)” ac ” 记录清零返回初始 0.0; delete ” 删除上一个输入内容; +- ” 将正数为负数...
最近老师布置了一个作业,要求我们建立一个6位数字的gmail账号,然而我脸太黑,试了好多次都不成功,于是决定用python来写一个脚本遍历输入所有6位数。 这就要求掌握使用python捕捉和模拟键盘操作了,于是我查阅了网上诸多资料,终于实现了这个功能,特此记录下来方便以后复习。 使用的python版本为:3. 6. 1,使用...
-
根据 坐标 模拟点击事件
2014-03-11 15:54:45这个demo的效果 就是点击一个 按钮,在响应事件中,根据 屏幕坐标 模拟点击屏幕坐标位置的组件。 -
Android代码实现模拟点击操作
2015-03-02 10:31:05代码实现根据adb shell发送sendevent模拟点击 -
JS简单模拟触发按钮点击功能的方法
2020-10-23 05:59:24主要介绍了JS简单模拟触发按钮点击功能的方法,涉及JavaScript事件调用机制及事件触发的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下 -
免ROOT实现模拟点击任意位置
2021-06-02 22:51:00微信7.0版本之前抢红包插件点击基本上都借助AccessibilityService无障碍的performClick方法点击控件,不过7.0版本的微信的红包控件(view)没有id这一项了,所以performClick就无法使用了,但是抢红包就在此停止了吗?...微信7.0版本之前抢红包插件点击基本上都借助AccessibilityService无障碍的performClick方法点击控件,不过7.0版本的微信的红包控件(view)没有id这一项了,所以performClick就无法使用了,但是抢红包就在此停止了吗?非也,下面给出2种点击方法。
方法一(验证有效)
此方法免root,不过需要Android7.0及以上版本,AccessibilityService有个新的选项,canPerformGestures: 安卓7.0后可通过dispatchGesture实现点击屏幕的操作,如需用此方法需将canPerformGestures设置为true<?xml version="1.0" encoding="utf-8"?>
android:canPerformGestures="true"
android:description="@string/accessibility_service_description" />
模拟点击的方法dispatchGesture@TargetApi(24)
public void click(Point point) {
//只有7.0才可以用
GestureDescription.Builder builder = new GestureDescription.Builder();
Path path = new Path();
path.moveTo((float) point.x, (float) point.y);
path.lineTo((float) point.x, (float) point.y);
/**
* 参数path:笔画路径
* 参数startTime:时间 (以毫秒为单位),从手势开始到开始笔划的时间,非负数
* 参数duration:笔划经过路径的持续时间(以毫秒为单位),非负数
*/
builder.addStroke(new GestureDescription.StrokeDescription(path, 1, 1));
final GestureDescription build = builder.build();
/**
* 参数GestureDescription:翻译过来就是手势的描述,如果要实现模拟,首先要描述你的腰模拟的手势嘛
* 参数GestureResultCallback:翻译过来就是手势的回调,手势模拟执行以后回调结果
* 参数handler:大部分情况我们不用的话传空就可以了
* 一般我们关注GestureDescription这个参数就够了,下边就重点介绍一下这个参数
*/
dispatchGesture(build, new GestureResultCallback() {
public void onCancelled(GestureDescription gestureDescription) {
super.onCancelled(gestureDescription);
}
public void onCompleted(GestureDescription gestureDescription) {
super.onCompleted(gestureDescription);
}
}, null);
}
然后配合MediaProjection录屏进行图片识别即可。/**
* 申请屏幕录取权限
*/
private void requestScreenShot() {
startActivityForResult(
((MediaProjectionManager) this.getActivity().getSystemService("media_projection")).createScreenCaptureIntent(),
REQUEST_MEDIA_PROJECTION);
}
public Bitmap getScreenShotSync() {
if (!isShotterUseful()) {
return null;
}
if (mImageReader == null) {
mImageReader = ImageReader.newInstance(
getScreenWidth(),
getScreenHeight(),
PixelFormat.RGBA_8888,//此处必须和下面 buffer处理一致的格式 ,RGB_565在一些机器上出现兼容问题。
1);
}
VirtualDisplay tmpDisplay = virtualDisplay();
try{
Thread.sleep(50); //需要稍微停一下,否则截图为空
}catch (InterruptedException e){
e.printStackTrace();
}
Image img = mImageReader.acquireLatestImage();
if (img == null) {
return null;
}
int width = img.getWidth();
int height = img.getHeight();
final Image.Plane[] planes = img.getPlanes();
final ByteBuffer buffer = planes[0].getBuffer();
//每个像素的间距
int pixelStride = planes[0].getPixelStride();
//总的间距
int rowStride = planes[0].getRowStride();
int rowPadding = rowStride - pixelStride * width;
Bitmap bitmap = Bitmap.createBitmap(width + rowPadding / pixelStride, height,
Bitmap.Config.ARGB_8888);//虽然这个色彩比较费内存但是 兼容性更好
bitmap.copyPixelsFromBuffer(buffer);
bitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height);
img.close();
//mImageReader.close();
tmpDisplay.release();
return bitmap;
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private VirtualDisplay virtualDisplay() {
return mMediaProjection.createVirtualDisplay("screen-mirror",
getScreenWidth(),
getScreenHeight(),
Resources.getSystem().getDisplayMetrics().densityDpi,
DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
mImageReader.getSurface(), null, null);
}
抢红包开源地址:https://github.com/LnJan/WechatLuckyMoneyGetter
方法二(未验证)
此方法依然使用的是adb shell,不过并不需要root方法。其中奥秘在于app_process启动一个dex的java程序(shell启动的程序必然有shell权限),利用此程序的shell启动权限进行点击点击,程序的后台卸载、安装都可以。
这个引用一个已经实现的项目
-
SEO工具-百度模拟点击器
2012-08-09 14:35:44通过模拟人工点击。提升网站的百度排名。seo优化排名的新工具。 -
VB 模拟点击网页按钮、输入、搜索
2014-01-31 11:59:07VB 模拟点击网页按钮、输入、搜索 学做插件的基本 -
自动点击器(模拟点击)
2021-05-27 10:18:04应用介绍自动点击器(模拟点击)是一款点击小工具应用,免费的且操作很便利,内里全部的成倍功能,全体都是免费的,内里又有详尽的操作说明,提倡运用之前好好的阅读,有需要的下载使用。应用说明自动点击器APP是一款...应用介绍
自动点击器(模拟点击)是一款点击小工具应用,免费的且操作很便利,内里全部的成倍功能,全体都是免费的,内里又有详尽的操作说明,提倡运用之前好好的阅读,有需要的下载使用。
应用说明
自动点击器APP是一款方便快捷的小工具助手,只要经过简单的设置就可以使用了,在里面点击开启,然后自己进行想要的存储配置就可以了,其他的一些参数在使用之前设置好就可以使用了,也有着应用支持列表,并不是每个应用都是支持这个软件使用的,在某些游戏中可以设置一些自动点击,就可以解放自己的双手,自动玩游戏更加的轻松畅快,连点器帮你自动点击屏幕,无需ROOT权限。可以方便添加点击位置,设置点击速度。
使用方法
自动点击器通过浮动控制面板以启动/结束自动点击。您可以使用控制面板在屏幕上添加点击位置实现自动点击。
点击位置保存功能,下次回来继续使用
长按点击位置的控件会弹出单点的参数配置,可以设置单点的延迟,触摸时长,重复次数
通过设置可以设置全局的点击间隔,触摸时长,重复次数。还有快速设置功能
对各种点击类游戏有很多帮助。像疯狂点击等IDLE类游戏,简单高效。
-
JS模拟自动点击的简单实例
2020-10-27 00:53:43介绍了JS模拟自动点击的简单实例,有需要的朋友可以参考一下 -
Selenium:动态页面模拟点击
2018-11-06 19:53:41Selenium:动态页面模拟点击 Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在... -
js模拟点击
2021-08-26 10:05:04<script type="text/javascript">... 模拟点击 </script> <!--单选框--> <div class="radio_box" id="confTypeRadio"> <ul><!-- onclick="ac()" . -
Android模拟点击的四种方式
2021-05-28 07:37:09导论在Android中模拟一个点击事件有三种方式是通过模拟MotionEvent来实现;一种是通过ADB来实现;一种是通过Instrumentation测试框架来实现第一种:模拟MotionEvent通用方法如下:private void setSimulateClick... -
Android上的模拟点击
2020-06-15 18:15:06模拟点击在 Android 上有2种情况: 1,只模拟点击自己的页面; 2,只要自己进程活着,不管是哪个应用在前台,都可以模拟点击; 第一种情况比较简单: long downTime = SystemClock.uptimeMillis(); float x = 200;... -
python怎么模拟点击网页按钮
2020-11-30 02:54:56python怎么模拟点击网页按钮前提环境: Python3 和 Visual Studio Code安装完毕 .安装selenium : 在终端输入: pip install selenium, 如图下载chromedriver : 登录...