# coding=utf-8from selenium import webdriverimport jsonimport timeimport pymongo class Douyu: def __init__(self): self.driver = webdriver.Chrome() # 发送首页请求 self.driver.get("https://www.douyu.com/directory/all") self.host = '127.0.0.1' self.port…
Python3 使用selenium库登陆知乎并保存cookie为本地文件 学习使用selenium库模拟登陆知乎,并将cookie保存为本地文件,然后供以后(requests模块)使用,用selenium模拟登陆时,比较顺利,没有碰到需要验证码的情况,代码放在一个名为cookiesload.py模块中: # -*- coding: utf-8 -*- from selenium.webdriver import Chrome from selenium.webdriver.support im…
selenium 模拟登陆豆瓣,爬去武林外传的短评: 在最开始写爬虫的时候,抓取豆瓣评论,我们从F12里面是可以直接发现接口的,但是最近豆瓣更新,数据是JS异步加载的,所以没有找到合适的方法爬去,于是采用了selenium来模拟浏览器爬取. 豆瓣登陆也是改了样式,我们可以发现登陆页面是在另一个frame里面 所以代码如下: # -*- coding:utf-8 -*- # 导包 import time from selenium import webdriver from selenium.we…
这两天有基友要php中curl抓取教务处成绩的源码,用于微信公众平台的开发.下面笔者只好忍痛割爱了.php中CURL技术模拟登陆抓取数据实战,抓取沈阳工学院教务处学生成绩. 首先,教务处登录需要验证码.我们寻找验证码的链接地址http://218.61.108.163/ACTIONVALIDATERANDOMPICTURE.APPPROCESS,来进行数据的抓取.下面看下主要代码-index.php <?php $ch=curl_init("http://218.61.108.163/AC…
Selenium模拟登陆百度贴吧 from selenium import webdriver from time import sleep from selenium.webdriver.common.desired_capabilities import DesiredCapabilities # dcap = dict(DesiredCapabilities.PHANTOMJS) # dcap["phantomjs.page.settings.userAgent"] = ( #…
Python3.x:定时获取页面数据存入数据库 #间隔五分钟采集一次数据入库 import pymysql import urllib.request from bs4 import BeautifulSoup import threading import time # 数据入库处理 def doDataWlpc(jjdm, jjmc, dwjz, dwjzrq): r_code = 0 print('基金信息:' + jjdm + ',' + jjmc + ',' + dwjz + ','…
如果直接使用selenium访问淘宝.新浪和知乎这些网址.一般会识别出这是自动化测试工具,会有反制措施.当开启开发者模式后,就可以绕过他们的检测啦.(不行的,哭笑) 如果网站只是对windows.navigator.webdriver进行检测.绕过网站对webdriver的特征识别1-使用splash,navigator.webdriver只适用使用webdriver的渲染工具,对splash这种使用webkit内核开发的渲染工具是无效的.2-利用selenium或者其他渲染工具执行js使nav…
代码如下: # coding:utf-8 from selenium import webdriver import requests import sys import time from lxml import etree import cPickle import os # reload(sys) # sys.setdefaultencoding('utf-8') class Zhihu: def __init__(self,homeurl): self.homeurl = homeurl…
1.selenium基本使用 1.selenium安装及基本操作 selenium是一个自动化测试工具,它支持各种浏览器,包括Chrome,Safari,Firefox等主流界面浏览器驱动,也包括Phantomjs的无界面浏览器. 通过selenium+phantomjs可以直接渲染js 首先,需要下载不同浏览器的驱动,直接百度搜索就可以,例如搜过Chrome浏览器驱动,下载到本地 然后,将下载好的驱动放入到安装python的根目录下,例如C:/pyhton3/usr/bin,就是要把驱动和py…
模拟登陆微博相对来说,并不难.验证码是常规的5个随机数字字母的组合,识别起来也比较容易.主要是用到许多Selenium中的知识,如定位标签.输入信息.点击等.如对Selenium的使用并不熟悉,请先移驾<Python爬虫 | Selenium详解>.相信你再来看本篇一定可以看懂. 破解微博登陆的思路: (1)使用webdriver打开微博网页: (2)输入用户名和密码,点击登录: (3)对第二步的结果进行判断 情况一:用户名或者密码错误 情况二:登录成功 情况三:出现验证码图片,需识别 情况四…
selenium是可以模拟浏览器操作. 有些爬虫是异步加载的,通过爬取网页源码是得不到需要的内容.所以可以模拟浏览器去登陆该网站进行爬取操作. 需要安装selenium通过pip install xxx安装,如果你使用的Anaconda3,可以使用conda install xxx这些都是可以 值得一提的是,需要下载chromdriver,就是chrome浏览器的驱动.百度搜索下载,下载之前看你的chrome的版本是几,应该下载比你浏览器的版本更高的驱动版本. 比如:我的chrome是74,那么…
1.CURL模拟登陆的流程和步骤 2.tempnam 创建一个临时文件 3.使用CURL模拟登陆到PHP100论坛 <?php $cookie_file = tempnam('./temp','cookie'); $login_url  = 'http://bbs.php100.com/login.php'; $post_fields = 'cktime=31536000&step=2&pwuser=php100-88&pwpwd=111111'; $ch = curl_in…
1.CURL模拟登陆的流程和步骤2.tempnam 创建一个临时文件3.使用CURL模拟登陆到PHP100论坛 <?php$cookie_file = tempnam('./temp','cookie');$login_url  = 'http://bbs.php100.com/login.php';$post_fields = 'cktime=31536000&step=2&pwuser=php100-88&pwpwd=111111'; $ch = curl_init($l…
2015-03-19 14:16:29,285 ERROR [Thread-3] (DAOHelper.java:312) - updateByEntityPK:com.agileeagle.dao.webgame.entity.UnionInfo@16dc54djava.lang.ClassCastException: org.hibernate.hql.ast.tree.SqlNode cannot be cast to org.hibernate.hql.ast.tree.FromRefe…
这两天也不知道怎么,学习效率低.很无奈. 如何知道要去URL该怎么填写呢?就是填写表单中的Action内容: tempnam() 函数创建一个具有唯一文件名的临时文件. <?php header("content-type:text/html;charset=gbk"); //data可直接抓包查看依据数据来写. $data = "lgt=0&pwuser=while&pwpwd=xishaonian&hideid=0&forward=&…
不多说.直接上代码 from selenium import webdriver driver = webdriver.Chrome() driver.get('http://qzone.qq.com')#打开网页 print driver.title driver.switch_to_frame('login_frame')#切换frame driver.find_element_by_id('switcher_plogin').click()#切换账号密码登陆 driver.find_ele…
思路 输入用户名密码点击登陆 获取验证码的原始图片与有缺口的图片 找出两张图片的缺口起始处 拖动碎片 功能代码段 # 使用到的库 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_condit…
第一部:利用selenium登陆 导入selenium库 from selenium import webdriver 明确模拟浏览器在电脑中存放的位置,比如我存在当前目录 chromePath = r'.\chromedriver.exe' 用selenium的webdriver方程指明浏览器的路径,同时打开一个浏览器.模拟浏览器有多种可选,比如Firefox, Safari.本次用的是谷歌的模拟浏览器.注意:'.Chome'是大写字母. wd = webdriver.Chrome(execu…
Selenium把元素定位接口封装得更简单易用了,支持Xpath.CSS选择器.以及标签名.标签属性和标签文本查找. from selenium.webdriver import PhantomJS from random import randint import time from selenium.webdriver.common.keys import Keys from requests.cookies import RequestsCookieJar import requests…
代码: from selenium import webdriver url = 'https://passport.baidu.com/v2/?login' username = 'your_username' passwd = "your_password" driver = webdriver.Chrome() # 打开chrome浏览器 driver.get(url) # 打开指定的网页 input_username = driver.find_element_by_id(&q…
博客园的Markdown编辑器太坑爹了@!!! 算了.不用格式了!!! /********************** curl 系列 ***********************/ //直接通过curl方式取得数据(包含POST.HEADER等) /* @author: Skiychan <contact@zzzzy.com> * $url: 如果非数组,则为http;如是数组,则为https * $header: 头文件 * $post: post方式提交 array形式 * $cook…
from selenium import webdriver import time from selenium.webdriver.common.by import By from selenium.webdriver import ActionChains browser = webdriver.Chrome(r"D:\工具包\chromedriver.exe") url = "https://login.taobao.com/member/login.jhtml&quo…
# -*- coding: utf-8 -*- from selenium import webdriver import time driver =webdriver.PhantomJS() driver.maximize_window() def get_shuoshuo(): driver.get('https://user.qzone.qq.com/177472465') try: driver.find_element_by_id('login_div') a = True excep…
12306官网登录的验证码破解比较简单,验证码是常规的点触类型验证码,使用超级鹰识别率比较高. 思路: (1)webdriver打开浏览器: (2)先对整个屏幕截屏,通过标签定位找到验证码图片,并定位到验证码图片的坐标,然后从先前截屏的图片中截取验证码部分的图片: (3)通过超级鹰识别验证码上字的坐标: (4)点击验证码图片上的字: (5) 输入用户名和密码进行登录: 注意:将以下标红部分的账号等信息换成自己的即可成功 from selenium import webdriver from se…
http://www.cnblogs.com/zengguowang/p/6814474.html…
目前写的实在太粗糙,留着,以后来写上…
一.编写实体类Controller层返回数据使用 package entity; import java.io.Serializable; public class Result implements Serializable{ private static final long serialVersionUID = -8946453797496982517L; private boolean success; private String message; public Result(bool…
爬取网页地址: 丁香医生 数据库连接代码: def db_connect(): try: db=pymysql.connect('localhost','root','zzm666','payiqing') print('database connect success') return db except Exception as e: raise e return 0 爬取代码: def pa_website(db): driver = webdriver.Chrome() driver.g…
一.创建数据库连接 #!coding:utf-8 import pymysql ''' Python3之后不再支持MySQLdb的方式进行访问mysql数据库: 可以采用pymysql的方式 连接方式: 1.导包 import pymysql 2.打开数据库连接 conn = pymysql.connect(host='10.*.*.*',user='root',password='123456',db='self_dev',charset='utf8',cursorclass=pymysql.…
上篇文章已经介绍了如何使用SharedPreferences存储键值对形式的轻量级数据,对于那些相同结构的多组数据,类似于存储Java中定义的类的多个对象属性值,如果按照键值对的形式一条条读写,需要分别定义每条数据对应的key值,是相当繁琐的.而如果可以使用数据库保存就会方便很多. 正因此,Android系统提供了对SQLite数据库的支持,在应用中创建的数据库,默认也是保存在应用程序的内部存储空间中的,这样也只有当前应用程序内部可以访问其数据库中数据. 使用纯粹的SQLiteDatabase类…