码迷,mamicode.com
首页 > 编程语言 > 详细

Python网络爬虫(1)--url访问及参数设置

时间:2015-02-14 12:16:42      阅读:5893      评论:0      收藏:0      [点我收藏+]

标签:

环境:Python2.7.9 / Sublime Text 2 / Chrome

1.url访问,直接调用urllib库函数即可

import urllib2

url=http://www.baidu.com/
response = urllib2.urlopen(url)
html=response.read()

print html

2.带参数的访问,以baidu搜索功能为例

使用Chrome浏览器访问效果,Chrome搜索引擎设置为baidu,地址栏中输入test,效果如下:

技术分享

可以看到baidu搜索的url为 https://www.baidu.com/s?ie=UTF-8&wd=test

修改代码,增加访问参数

# coding=utf-8
import urllib
import urllib2

#url地址
url=https://www.baidu.com/s
#参数
values={
        ie:UTF-8,
        wd:test   
        }
#进行参数封装
data=urllib.urlencode(values)
#组装完整url
req=urllib2.Request(url,data)

#访问完整url
response = urllib2.urlopen(req)
html=response.read()

print html

运行代码,得到结果为

技术分享

提示访问页面不存在,这个时候需要考虑一下访问方式的问题。urllib2.Request(url,data) 访问方式为POST方式,需要改用GET方式进行尝试,更改代码为

# coding=utf-8
import urllib
import urllib2

#url地址
url=https://www.baidu.com/s
#参数
values={
        ie:UTF-8,
        wd:test   
        }
#进行参数封装
data=urllib.urlencode(values)
#组装完整url
#req=urllib2.Request(url,data)
url=url+?+data

#访问完整url
#response = urllib2.urlopen(req)
response = urllib2.urlopen(url)
html=response.read()

print html

再次运行,获得结果为

技术分享

https发生了重定向,需要改用http

# coding=utf-8
import urllib
import urllib2

#url地址
#url=‘https://www.baidu.com/s‘
url=http://www.baidu.com/s
#参数
values={
        ie:UTF-8,
        wd:test   
        }
#进行参数封装
data=urllib.urlencode(values)
#组装完整url
#req=urllib2.Request(url,data)
url=url+?+data

#访问完整url
#response = urllib2.urlopen(req)
response = urllib2.urlopen(url)
html=response.read()

print html

再次运行,可实现正常访问

技术分享

Python网络爬虫(1)--url访问及参数设置

标签:

原文地址:http://www.cnblogs.com/buaawp/p/4291409.html

(0)
(3)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!