Python网络爬虫(1)

537次阅读
没有评论

标签:

环境: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,效果如下:

Python网络爬虫(1)

可以看到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

运行代码,得到结果为

Python网络爬虫(1)

提示访问页面不存在,这个时候需要考虑一下访问方式的问题。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

再次运行,获得结果为

Python网络爬虫(1)

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)

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

标签:

转载来源:http://www.mamicode.com/info-detail-477628.html

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-10-25发表,共计1381字。
新手QQ群:570568346,欢迎进群讨论 Python51学习