爬虫 在网页定位验证码,然后显示出来,手动输入验证码,求代码

问题描述

爬虫 在网页定位验证码,然后显示出来,手动输入验证码,求代码
爬虫,在网页定位验证码,然后不管在哪里显示出来都行,然后手动输入验证码,继续爬,不需要登录,但是需要搜索功能,跪求完整代码,可以想象爬有验证码的百度。

解决方案

  • - 我已经搞定了,直接复制图片链接, 放在img的src里 然后写个输入框 post一起提交过去

解决方案二:
以下是部分python代码:

#!usr/bin/env python#-*- coding: utf-8 -*-import osimport urllib2import urllibimport cookielibimport xml.etree.ElementTree as ET#-----------------------------------------------------------------------------# Login in www.***.com.cndef ChinaBiddingLogin(url username password):        # Enable cookie support for urllib2        cookiejar=cookielib.CookieJar()        urlopener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))        urllib2.install_opener(urlopener)        urlopener.addheaders.append(('Referer' 'http://www.chinabidding.com.cn/zbw/login/login.jsp'))        urlopener.addheaders.append(('Accept-Language' 'zh-CN'))        urlopener.addheaders.append(('Host' 'www.chinabidding.com.cn'))        urlopener.addheaders.append(('User-Agent' 'Mozilla/5.0 (compatible; MISE 9.0; Windows NT 6.1); Trident/5.0'))        urlopener.addheaders.append(('Connection' 'Keep-Alive'))        print 'XXX Login......'        imgurl=r'http://www.*****.com.cn/zbw/login/image.jsp'        DownloadFile(imgurl urlopener)        authcode=raw_input('Please enter the authcode:')        #authcode=VerifyingCodeRecognization(r""http://192.168.0.106/images/code.jpg"")        # Send login/password to the site and get the session cookie        values={'login_id':username 'opl':'op_login' 'login_passwd':password 'login_check':authcode}        urlcontent=urlopener.open(urllib2.Request(url urllib.urlencode(values)))        page=urlcontent.read(500000)        # Make sure we are logged in check the returned page content        if page.find('login.jsp')!=-1:                print 'Login failed with username=%s password=%s and authcode=%s'                                 % (username password authcode)                return False        else:                print 'Login succeeded!'                return True#-----------------------------------------------------------------------------# Download from fileUrl then save to fileToSave# Note: the fileUrl must be a valid filedef DownloadFile(fileUrl urlopener):        isDownOk=False        try:                if fileUrl:                        outfile=open(r'/var/www/images/code.jpg' 'w')                        outfile.write(urlopener.open(urllib2.Request(fileUrl)).read())                        outfile.close()                        isDownOK=True                else:                        print 'ERROR: fileUrl is NULL!'        except:                isDownOK=False        return isDownOK#------------------------------------------------------------------------------# Verifying code recoginizationdef VerifyingCodeRecognization(imgurl):        url=r'http://192.168.0.119:800/api?'        user='admin'        pwd='admin'        model='ocr'        ocrfile='cbi'        values={'user':user 'pwd':pwd 'model':model 'ocrfile':ocrfile 'imgurl':imgurl}        data=urllib.urlencode(values)        try:                url+=data                urlcontent=urllib2.urlopen(url)        except IOError:                print '***ERROR: invalid URL (%s)' % url        page=urlcontent.read(500000)        # Parse the xml data and get the verifying code        root=ET.fromstring(page)        node_find=root.find('AddField')        authcode=node_find.attrib['data']        return authcode#------------------------------------------------------------------------------# Read users from configure filedef ReadUsersFromFile(filename):        users={}        for eachLine in open(filename 'r'):                info=[w for w in eachLine.strip().split()]                if len(info)==2:                        users[info[0]]=info[1]        return users#------------------------------------------------------------------------------def main():        login_page=r'http://www.***.com.cnlogin/login.jsp'        download_page=r'http://www.***.com.cn***/***?record_id='        start_id=8593330        end_id=8595000        now_id=start_id        Users=ReadUsersFromFile('users.conf')        while True:                for key in Users:                        if ChinaBiddingLogin(login_page key Users[key]):                                for i in range(3):                                        pageUrl=download_page+'%d' % now_id                                        urlcontent=urllib2.urlopen(pageUrl)                                        filepath='./download/%s.html' % now_id                                        f=open(filepath 'w')                                        f.write(urlcontent.read(500000))                                        f.close()                                        now_id+=1                        else:                                continue#------------------------------------------------------------------------------if __name__=='__main__':        main()

解决方案三:
如果别人在页面中只是显示图片,那么 你要用正则来获取对应的区域 将里面的图片输出流显示在你想显示的地方
现在目前 要攻破验证码还是比较困难的,因为可以使用KEY来做 页面完全 不需要有验证码的数据 只是图片流而已

解决方案四:
http://www.uuwise.com/

识别验证码,你要拿到验证码的图片,然后发送给上面这个网址的地方,他们会返回一个字符串的验证码给你。

解决方案五:
验证码是可以机器识别的

时间: 2024-10-15 21:31:24

爬虫 在网页定位验证码,然后显示出来,手动输入验证码,求代码的相关文章

网页登陆、注册中的验证码

问题描述 网页登陆.注册中的验证码 往往网页的登录和注册都需要输入验证码,验证码是怎么做出来的, 我个人认为是自己用PHOTOSHOP做,然后用SEVLET检验图片名字和用户输入是否匹配 ? 解决方案 在程序中画出来,用随机的颜色,随机位移,随机进行几何变换以及添加随机的线条.点等. 解决方案二: 用photoshop做你能做多少个?做1000个?黑客把所有的验证码都下载下来,人工识别了,然后存入数据库,对照查表,那你的验证码还有什么意义. 解决方案三: 随机产生几个数字和字母,生成一张图片传到

JavaScript网页定位详解

 本篇文章主要是对JavaScript网页定位进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 网页可见区域宽:document.body.clientWidth  网页可见区域高:document.body.clientHeight  网页可见区域宽:document.body.offsetWidth (包括边线的宽)  网页可见区域高:document.body.offsetHeight (包括边线的宽)  网页正文全文宽:document.body.scrollWidth 

HTML5网页定位,并将位置绘在百度地图上

运行效果: 实现代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>HTML5定位</title> <meta name="viewport" content="width=device-width, initial-scale=1" /> <

在ubuntu系统下使用python制作爬虫获取网页运行完js后的网页源码!

问题描述 在ubuntu系统下使用python制作爬虫获取网页运行完js后的网页源码! 求求大神帮忙,小弟跪谢!已经被这个问题困扰了很久,听说selenium可以实现,但是网上的源码都看不懂,希望那个大神能帮帮我,真的很急,谢谢 解决方案 selenium加载页面,这样可以等js执行完了以后,通知你python再去解析

用python爬虫登陆网页时网页的重定向问题

问题描述 用python爬虫登陆网页时网页的重定向问题 用python爬虫登陆一个网站 用urlopen打开后 打印获得的内容发现返回的一直是登陆界面 检查了cookie,表单内容的编码都是正确的 在网页上登陆后抓包发现返回的是一个302重定向 这个重定向是导致返回内容一直是登陆界面的原因吗?如果是的话应该怎么处理? 解决方案 注意cookie的问题,参考:http://lilydjwg.is-programmer.com/posts/22121.htmlhttp://iyuan.iteye.c

Python 爬虫web网页版程序代码

一:网页结构分析 二:代码实战 #! /usr/bin/env python2 # encoding=utf-8 #BeautifulSoup需要安装 MySQLdb import sys,os,re,hashlib import urllib import httplib2 from lxml import etree import MySQLdb from BeautifulSoup import BeautifulSoup import urllib2 import re import t

jQuery网页定位导航特效实现方法_jquery

本文实例讲述了jQuery网页定位导航特效实现方法.分享给大家供大家参考,具体如下: 描述:左右联动的导航,非常适合展示页面内容多,区块划分又很明显的,点击右边固定导航项时,左边的内容跟着切换.滑动滚动条的时候,右边的导航也随着左边的展示而进行高亮切换. 思路:比较滚动距离和楼层距离(相对于顶部),如果滚动距离大于等于楼层距离,即进入了相应楼层,然后通过一个变量来记录该楼层的信息,最后传递给右边高亮显示 1.点击右边固定导航项时,左边的内容跟着切换. 只需将右边a的href设置为左边区块的id加

jquery实现网页定位导航_jquery

不知道大家有没有注意到有的网页由于页面信息量太大所以使用了页面定位导航来实现跳转,点击旁边的菜单的某一项页面就跳到那一项对应的内容,而且我们滚动滚动条,当滚动到某一项内容,旁边菜单对应的那一项也会高亮显示.今天我就来讲讲这样的效果是如何实现的.  先贴上显示效果:  实现:  这个的页面布局很简单,大家下去多试试就OK了,值得注意的是需要在菜单布局里的每一个li里面添加a标签并且给a标签的 href 赋上对应的id号,可以让其点击立即跳到id对应的内容  然后就是jquery是如何实现的:  1

爬虫-我有网页源代码,但我不知道网页的地址。源代码里面的js代码有个变量值是网页的地址,怎么能获取出来?

问题描述 我有网页源代码,但我不知道网页的地址.源代码里面的js代码有个变量值是网页的地址,怎么能获取出来? 解决方案 前后截取就好了或者用正则来获取 var s = 'sfeeaaxxx var msg_link = "xxafejfleajflajflafjalfjlxllx"'; var m = new RegExp('var msg_link = "([^"]+)"').exec(s); if (m) alert(m[1]); 解决方案二: 直接正