使用 urllib2 和 cookielib 发送 HTTP 请求和处理 cookies 的一些基本技巧。你可以根据具体需求进一步定制和扩展这些代码。注意,在 Python 3 中,urllib2 被拆分成 urllib.request 和 http.cookiejar 模块,但使用方式类似。下面就是我遇到的这些问题并且做了详细的解释。
今天有个需求需要通过cookie访问内部cmdb,获取机器等信息。上网搜罗了一下用法。记录一下
只是拿来的文章,留个存档,可不保证能用 使用已有的cookie访问网站 import cookielib, urllib2 ckjar = cookielib.MozillaCookieJar(os.path.join(’C:\Documents and Settings\tom\Application Data\Mozilla\Firefox\Profiles\h5m61j1i.default’, ‘cookies.txt’)) req = urllib2.Request(url,
cookielib一般用于客户端处理HTTP cookie信息,通过它可以从服务器端获取cookie信息,反过来又可以通过它将获取到的cookie发送给服务器。
cookielib是一个自动处理cookies的模块,如果我们在使用爬虫等技术的时候需要保存cookie,那么cookielib会让你事半功倍!他最常见的搭档模块就是python下的urllib和request。
Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)
大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用。 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的。那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了。 在此之前呢,我们必须先介绍一个opener的概念。 1.Opener 当你获取一个URL你使用
基本模型 请求与响应 import urllib.request as urllib2 request=urllib2.Request('http://www.zhihu.com') response=urllib2.urlopen(request) html=response.read() print(html) Cookie处理 呵呵 import urllib.request as urllib2 import http.cookiejar as cookielib cookie = cookie
注解:这里使用urllib2.HTTPHandler()访问https网页得到的html代码。
模板方法 python也是一种面向对象的语言,所以在实现群发的时候,会登陆不同的网站,但是登陆的方法什么的不尽相同,所以这里想到的是模板方法。 模板方法模式: 应用特性:重复做相同逻辑的事情,但是具体细节不同的场景 结构特性:相同逻辑抽取至父类,具体细节留置子类。可以说是对逻辑的抽象 看一下代码: #!/usr/bin/env python #encoding: utf-8 class template: def __init__(self): pass
老早写的,都忘了当初想干啥了。。。。 半成品,留个坑,待填。 #!/usr/bin/env python # encoding: utf-8 import cookielib import requests def http_send(url, post_data='', **kwargs): cookie_handler = cookielib.MozillaCookieJar('cookie.txt') try: cookie_handler.load(ignore
CookieJar——>派生——>FileCookieJar——>派生——>MozillaCookieJar和LwpCookieJar
模拟登陆的时候是post请求。提交表单的地址和人人界面登陆地址是不一样的,实际是人人界面的登陆地址。也就是wwww.renren.cm.你输入你的信息以后它会自己主动跳转到
本篇主要介绍了Python爬虫学习--Python爬虫模拟登录带验证码网站,通过具体的内容展现,希望对Python爬虫的学习有一定的帮助。
MD5(Message-Digest Algorithm 5)算法是一种非常常见的信息摘要hash算法,一般可以用来进行数字签名,或者理解成为一种压缩算法。他的本质是一种分组加密算法。百度上对MD5算法简要的叙述为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。用十六进制表示的话,每四位变成一个十六进制数,这样也就是生成了总共为32位的十六进制数,即MD5码。
首先,推荐两个关于python爬虫不错的博客:Python爬虫入门教程专栏 和 Python爬虫学习系列教程 。写的都非常不错,我学习到了很多东西!在此,我就我看到的学到的进行总结一下!
这种方式发送请求得到的结果,和使用urllib2.urlopen()发送HTTP/HTTPS请求得到的结果是一样的。
urlopen(url, data=None) -- Basic usage is the same as original urllib. pass the url and optionally data to post to an HTTP URL, and get a file-like object back. One difference is that you can also pass a Request instance instead of URL. Raises a URLError (subclass of IOError); for HTTP errors, raises an HTTPError, which can also be treated as a valid response.
本文将介绍handler处理器和自定义opener,更多内容请参考:python学习指南 opener和handleer 我们之前一直使用的是urllib2.urlopen(url)这种形式来打开网页,它是一个特殊的opener(也就是模块帮我们建好的),opener是urllib2.OpenerDirectory的实例。 但是基本的urlopen()方法不支持代理、cookie等其他的HTTP/HTTPS高级功能。所以要支持这些功能: 使用相关的Handler处理器来创建特定功能的处理器对象;
import mechanize import cookielib import random
urllib2做为python下,在httplib之上再次封装的强大html协议实现,应用非常广泛。
4 from urllib2 import Request, build_opener, HTTPCookieProcessor, HTTPHandler
通过几天的学习与尝试逐渐对python爬虫有了一些小小的心得,我们渐渐发现他们有很多共性,总是要去获取一系列的链接,读取网页代码,获取所需内容然后重复上面的工作,当自己运用的越来越熟练之后我们就会尝试着去总结一下爬虫的共性,试着去写个helper类以避免重复性劳动。
B站的登录密码用了rsa加密(两个大质数的乘积很难进行逆向分解,所以可以用这个乘积来做公钥)。 所以运行py文件之前,使用镜像,先用pip安装rsa库: pip install rsa -i https://pypi.tuna.tsinghua.edu.cn/simple/ 运行: import requests import re import time import sys import json import rsa import os.path import binascii import d
为了提高验证码的识别准确率,我们当然要首先得到足够多的测试数据。验证码下载下来容易,但是需要人脑手工识别着实让人受不了,于是我就想了个折衷的办法------自己造验证码。
# 模拟登录豆瓣 from urllib.request import urlretrieve import requests from bs4 import BeautifulSoup from os import remove try: import cookielib except BaseException: import http.cookiejar as cookielib try: from PIL import Image except BaseException:
captcha是Completely Automated Public Turing Test to Tell Computers and Humans Apart ,全自动区分计算机和人类的图灵测试
#encode:utf-8 import urllib,urllib2,cookielib,json,time,md5,re
第二步: 使用工具分析浏览器提交的工具,可以用抓包工具。我使用的是火狐浏览器,本身就提供有这样的工具:
在urllib2包中有ProxyHandler类,通过此类可以设置代理访问网页,如下代码片段:
用python也差不多一年多了,python应用最多的场景还是web快速开发、爬虫、自动化运维:写过简单网站、写过自动发帖脚本、写过收发邮件脚本、写过简单验证码识别脚本。
转自:开源中国 http://my.oschina.net/jhao104/blog/647308 用python也差不多一年多了,python应用最多的场景还是web快速开发、爬虫、自动化运维:写过简单网站、写过自动发帖脚本、写过收发邮件脚本、写过简单验证码识别脚本。 爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也能省些事情。 1、基本抓取网页 get方法 import urllib2 url = "http://www.baidu.com" response = urllib2.urlo
作为一个新世纪有思想有文化有道德时刻准备着的屌丝男青年,在现在这样一个社会中,心疼我大慢播抵制大百度的前提下,没事儿上上网逛逛YY看看斗鱼翻翻美女图片那是必不可少的,可是美图虽多翻页费劲!今天我们就搞个爬虫把美图都给扒下来!本次实例有2个:煎蛋上的妹子图,某网站的rosi图。我只是一个学习python的菜鸟,技术不可耻,技术是无罪的!!!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140793.html原文链接:https://javaforall.cn
用Python也差不多一年多了,Python应用最多的场景还是Web快速开发、爬虫、自动化运维:写过简单网站、写过自动发帖脚本、写过收发邮件脚本、写过简单验证码识别脚本。
很多情况下,我们会遇到一些讨厌的人,特别是那种电信诈骗的骗子,行骗方法歹毒低劣,十分令人恶心。然而我们又不能拿他们怎么办。这时候我们就会想起用电话轰炸机这个东西来打击报复。网络上也有过类似的比如“短信轰炸机”这种东西,我也用他来黑过一些人。据他们后来说他们收到的都是些注册会员啊,登陆啊之类的短信提示,十分的烦人。当时听上去就觉得这个东西真的很厉害。最近一个偶然的机会,我发现其实短信轰炸机这种东西原理也是十分的简单的,只要拥有一些基础的网页登陆的知识,理论上就可以实现写出自己的“短信轰炸机”。
urllib2 是Python自带的标准模块, 用来发送HTTP Request的。 类似于 .NET中的, HttpWebRequest类
python爬虫,web spider。爬取网站获取网页数据,并进行分析提取。 基本模块使用的是 urllib,urllib2,re,等模块 (一)基本用法,例子 (1)进行基本GET请求,获取网页html #!coding=utf-8 import urllib import urllib2 url = 'http://www.baidu.com/' # 获取请求 request = urllib2.Request(url) try: # 根据request,得到返回r
用python也差不多一年多了,python应用最多的场景还是web快速开发、爬虫、自动化运维:写过简单网站、写过自动发帖脚本、写过收发邮件脚本、写过简单验证码识别脚本。 爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也能省些事情。 1、基本抓取网页 get方法 import urllib2 url "http://www.baidu.com" respons = urllib2.urlopen(url) print response.read() post方法 import urllib
简单地说,cookie保存在发起请求的客户端中,服务器利用cookie来区分不同的客户端。因为http是一种无状态的连接,当服务器一下子收到好几个请求时,是无法判断出哪些请求是同一个客户端发起的。而“访问登录后才能看到的页面”这一行为,恰恰需要客户端向服务器证明:“我是刚才登录过的那个客户端”。于是就需要cookie来标识客户端的身份,以存储它的信息(如登录状态)。
有些网站设置了权限,只有在登录了之后才能爬取网站的内容,如何模拟登录,目前的方法主要是利用浏览器cookie模拟登录。
现在已经分析清楚了,就这么点玩意,照着之前分析出来的接口用python写个小脚本就行了。
urllib2是python2.x下的一个模块,在Python3.x中,urllib2被拆分成urllib.request和urllib.error.
最后决定用最简单的python脚本进行实现。具体过程部分析了,不过值得一提的是,在登陆获取用户的cookie的时候,他也发送了一个挺长的“随机”串,研究了半天才发现他是使用了md5摘要算法,将密码和密码的摘要一同发给了服务器。。。。。。
其中,内存适合个人,缓存数据库适合大型公司。 ### 4.网页下载器(urllib2)[核心组件]() - 网页下载器:将互联网上URL对应的网页下载到本地的工具。 - Python有那几种网页下载器? -
一个Pythoner的自我修养系列是Python中文社区网友的投稿文章,欢迎大家踊跃投稿,文章主要内容为您在工作中、学习中碰到的Python难题、心得、有趣的项目等,您也可以直接扔代码过来由我们后期编辑,文章可署名,可附带自我介绍,可征女友男友、可征婚......文章赞赏所得归作者所有,文章将同步至Python中文社区微信公众号、知乎专栏、简书等各大网络平台 投稿请寄:sinoandywong@gmail.com,大家共同学习,共同进步。本期文章由@黑白授权发布,版权所有,感谢作者分享。 一个j
Python3中,import cookielib改成 import http.cookiejar
领取专属 10元无门槛券
手把手带您无忧上云