python爬虫学习记录

python爬虫学习记录【1】

urllib.request.urlopen()函数

urllib.request.urlopen(url,data = None,[ timeout,] *,cafile = None,capath = None,cadefault = False,context = None )

参数详解:
url:可以是一个字符串,也可以是一个Request类。当使用字符串当作参数时,python会自动把字符串转变为Request类,再将其传输给urlopen()函数。所以以下的两种写法的效果为一样的。

	response = urllib.request.urlopen("www.baidu.com")
	req = urllib.request.Request("www.baidu.com")
	response = urllib.request.urlopen("req")

data:指定要发送给服务器的数据,但这个data只能是application / x-www-form-urlencoded类型,这个类型需要用urllib.parse.urlencode()函数来进行转换,它的参数需要是一个映射对象,即字典,或者包含两个元素的元组,它们可以包含字符串或者byte。
其它的参数暂时没有用到。
以下为今晚的代码:

import urllib.request
import urllib.parse


def way_1():
    response = urllib.request.urlopen("http://placekitten.com/200/300")
    cat_img = response.read()
    with open('cat_200_300.jpg', 'wb') as f:
        f.write(cat_img)


def way_2():
    req = urllib.request.Request("http://placekitten.com/400/500")
    response = urllib.request.urlopen(req)
    cat_img = response.read()
    with open('cat_400_500.jpg', 'wb') as f:
        f.write(cat_img)


def translation():
    url = "https://fanyi.baidu.com/v2transapi"
    data = {}
    data['from'] = 'zh'
    data['to'] = 'en'
    data['query'] = "你好,世界"
    data['transtype'] = 'realtime'
    data['simple_means_flag'] = '3'
    data['sign'] = ['933122.712243']
    data['token'] = '76fadbccd41e44e52c5bb8bf9b32b37c'
    data = urllib.parse.urlencode(data).encode('utf-8')
    response = urllib.request.urlopen(url, data)
    html = response.read().decode('utf-8')
    print(html)


if __name__ == '__main__':
    way_1()
    way_2()
    translation()

encode()函数:编码
decode()函数:解码,返回字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值