python网页请求_使用Python的urllib2向网页发送请求

我对使用Python自动化某些任务很感兴趣。具体来说,我想使用Python与网站进行交互,以执行诸如从页面获取特定信息、发出请求(发布数据和读取响应)以及下载和上载文件等任务。

到目前为止,我只能使用Python从使用urllib2的页面获取HTML。接下来我试着向一个页面发送请求;我试了几次,但都失败了。>>> import urllib2

>>> import urllib

>>> url = "http://www.stackoverflow.com/"

>>> values = {}

>>> values["input"] = "foo"

>>> data = urllib.urlencode(values)

>>> request = urllib2.Request(url + "search/", data)

>>> response = urllib2.urlopen(request)

>>> html = response.read()

>>> print html

到目前为止,我的理解方式是,我需要创建一个包含字段和输入名称的字典,并用urllib.urllencode(values)对其进行编码。然后我需要用urllib2.request(urlReceivingEnterQuest,data,headers)发出一个请求,如果只给一个url,它将只得到一个,但是如果给一个数据,它将发布,并且可以给一个headers,这个headers可以把程序伪装成一个公共浏览器,比如Firefox或IE.I,然后用urllib2.urlopen(request)得到一个响应,这个响应返回一个类似于文件的对象因此,我可以阅读。据我所知,我还可以使用urllib2.build_opener(),它可以接收处理程序(可以处理cookie、重拨、身份验证等),并使用.add headers(“用户代理”)添加头。我希望最终能够做(并理解)所有这些事情,但是,首先,我想提交一份表格。

在上面与Python交互的代码中,我是否遵循了正确的过程?(我试图在stackoverflow首页的搜索字段中输入搜索“foo”。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值