urllib2库的基本使用

urllib2库的基本使用

urllib2 是 Python2.7 自带的模块(不需要下载,导入即可使用)
urllib2 在 python3.x 中被改为urllib.request


随机添加/修改User-Agent

ua_list = [
    "Mozilla/5.0 (Windows NT 6.1; ) Apple.... ",
    "Mozilla/5.0 (X11; CrOS i686 2268.111.0)... ",
    "Mozilla/5.0 (Macintosh; U; PPC Mac OS X.... ",
    "Mozilla/5.0 (Macintosh; Intel Mac OS... "
]

user_agent = random.choice(ua_list)
request.add_header("User-Agent", user_agent)

注意:获取user_agent 时,第一个字母大写,后面的全部小写

request.get_header("User-agent")

urllib 和 urllib2 的区别

  • urllib 仅可以接受URL,不能创建 设置了headers 的Request 类实例;

  • urllib 提供 urlencode 方法用来GET查询字符串的产生,而 urllib2 则没有。(这是 urllib 和 urllib2 经常一起使用的主要原因)

  • 编码工作使用urllib的urlencode()函数,帮我们将key:value这样的键值对转换成"key=value"这样的字符串,解码工作可以使用urllib的unquote()函数。(注意,不是urllib2.urlencode() )
    示例代码

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

word = {'wd': '要查询的字符串'}
# 使用urllib.urlencode()编码

result = urllib.urlencode(word)

print(result)

输出结果

E:\hc\python_project\untitled\py\Scripts\python.exe E:/hc/python_project/untitled/demo_urllib2/demo4.py
wd=%E8%A6%81%E6%9F%A5%E8%AF%A2%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2

Process finished with exit code 0

一般HTTP请求提交数据,需要编码成 URL编码格式,然后做为url的一部分,或者作为参数传到Request对象中。

猜你喜欢

转载自blog.csdn.net/ithongchou/article/details/83719115
今日推荐