urllib2模块

urllib2模块

标签(空格分隔): python


之前的存在的问题

import urllib2

url = ‘http://blog.csdn.net/weiyongxuan/article/details/47193245‘

page = urllib2.urlopen(url)

‘‘‘
报错
urllib2.HTTPError: HTTP Error 403: Forbidden

使用urllib2模仿浏览器
‘‘‘
print page.read()

模仿浏览器请求

# coding:utf-8
import urllib2

import chardet

url = ‘http://blog.csdn.net/weiyongxuan/article/details/47193245‘

‘‘‘
通过chrome查看的浏览器请求头
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8,en;q=0.6
Cache-Control:max-age=0
Connection:keep-alive
Cookie:uuid_tt_dd=
Referer:http://write.blog.csdn.net/mdeditor
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36
‘‘‘

request = urllib2.Request(url)

request.add_header(‘User-Agent‘, ‘Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36‘)

request.add_header(‘GET‘, url)

request.add_header(‘Host‘, ‘blog.csdn.net‘)

request.add_header(‘Referer‘,‘http://write.blog.csdn.net/mdeditor‘)

html = urllib2.urlopen(request)

print html.read()

代码整理

# -*- coding : utf-8 -*-
import urllib2

import chardet

url = ‘http://blog.csdn.net/weiyongxuan/article/details/47193245‘

header = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36‘,
           ‘Host‘:‘blog.csdn.net‘,
           ‘Referer‘:‘http://write.blog.csdn.net/mdeditor‘,
           ‘GET‘: url
}

def getContext(url,header):
    ‘‘‘
        模仿浏览器,抓取网页
    ‘‘‘
    request = urllib2.Request(url,headers=header)

    html = urllib2.urlopen(request)

    files = open(‘\\html.html‘,‘w‘)

    files.write(html.read())

    files.close()

    return files

if __name__==‘__main__‘:
    getContext(url,header)

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-10 07:18:20

urllib2模块的相关文章

cookielib和urllib2模块相结合模拟网站登录

1.cookielib模块 cookielib模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源.例如可以利用 本模块的CookieJar类的对象来捕获cookie并在后续连接请求时重新发送.coiokielib模块用到的对象主要有下面几 个:CookieJar.FileCookieJar.MozillaCookieJar.LWPCookieJar.其中他们的关系如下: 2.urllib2模块 说到urllib2模块最强大的部分绝对是它的o

基于Python的urllib2模块的多线程网络爬虫程序

1 m Queue import Queue 2 from gzip import GzipFile 3 from StringIO import StringIO 4 import time 5 import socket 6 class ContentEncodingProcessor(urllib2.BaseHandler): 7 """A handler to add gzip capabilities to urllib2 requests ""

Python 中的 urllib2 模块

通过python 的 urllib2 模块,可以轻易的去模拟用户访问网页的行为. 这里将自己的学习过程简单的记录下来. 一.urlopen函数 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 diffe

爬虫学习——网页下载器和urllib2模块

什么是网页下载器? 一.网页下载器是爬虫的核心组件 二.常用的python网页下载器有urlilib2基础模块和requests第三方插件两种 urllib2支持功能:1.支持直接url下载:2.支持向网页直接输入的数据:3.支持需要登陆网页的cookie处理:4.需要代理访问的代理处理 三.urllib2的三种下载方法 方法一.直接下载法 相应代码如下: #-*-coding:utf-8-*- #调用urllib2模块 import urllib2 #直接请求 response=urllib2

【Python】Python的urllib、urllib2模块调用“百度翻译”API进行批量自动翻译

1.问题描述 在文本数据处理时,经常回出现文本中各种语言的混杂情况,包括:英文.日语.俄语.法语等,需要将不同语种的语言批量翻译成中文进行处理.可以通过Python直接调用百度提供的翻译API进行批量的翻译. 百度翻译API详细文档见:百度翻译API文档 2.问题解决 开发环境:Linux 将文本中的中文和非中文进行分离,对非中文的部分进行翻译. Python的代码如下:translate.py #!/usr/bin/python #-*- coding:utf-8 -*- import sys

【Python】Python的urllib模块、urllib2模块进行网页下载文件

由于需要从某个网页上下载一些PDF文件,但是需要下载的PDF文件有几百个,所以不可能用人工点击来下载.正好Python有相关的模块,所以写了个程序来进行PDF文件的下载,顺便熟悉了Python的urllib模块和ulrllib2模块. 1.问题描述 需要从http://www.cvpapers.com/cvpr2014.html上下载几百个论文的PDF文件,该网页如下图所示: 2.问题解决 通过结合Python的urllib模块和urllib2模块来实现自动下载.代码如下: test.py #!

Python的urllib和urllib2模块

Python的urllib和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能.他们两个最显着的差异如下: urllib2可以接受一个Request对象,并以此可以来设置一个URL的headers,但是urllib只接收一个URL.这意味着,你不能伪装你的用户代理字符串等.urllib模块可以提供进行urlencode的方法,该方法用于GET查询字符串的生成,urllib2的不具有这样的功能.这就是urllib与urllib2经常在一起使用的原因. 常用的方法 urllib2.u

[python]-urllib和urllib2模块

转自:http://zeping.blog.51cto.com/6140112/1143722 urllib 和urllib2都是接受URL请求的相关模块,但是提供了不同的功能. urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有. urllib: 网页基础: import urllib #打开51cto cto = urllib.urlopen('http://www.51cto.com') #打开本地文件:cto = urllib.urlopen(url=

python urllib、urllib2模块讲解

1.urllib模块 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google import urllib f = urllib.urlopen('http://www.google.com.hk/') firstLine = f.readline() #读取html页面的第一行 urlopen返回对象提供方法: -         read() , readline() ,re