Python网络爬虫(1)--url访问及参数设置
环境: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
运行代码,(Sublime Text 如果出现Decode error,需要将Python.sublime-build设置为"encoding": "utf-8")得到结果为

提示访问页面不存在,这个时候需要考虑一下访问方式的问题。使用Chrome开发者工具,监测Network,确定访问方式为GET

urllib2.Request(url,data) 访问方式为POST方式,改用GET方式进行尝试,需要手动组装URL,更改代码为
# 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访问及参数设置的更多相关文章
- Python网络爬虫Scrapy框架研究 以及 代理设置
地址:https://github.com/yidao620c/core-scrapy 例子:https://github.com/geekan/scrapy-examples 中文翻译文档: htt ...
- python 网络爬虫(二) BFS不断抓URL并放到文件中
上一篇的python 网络爬虫(一) 简单demo 还不能叫爬虫,只能说基础吧,因为它没有自动化抓链接的功能. 本篇追加如下功能: [1]广度优先搜索不断抓URL,直到队列为空 [2]把所有的URL写 ...
- Python网络爬虫
http://blog.csdn.net/pi9nc/article/details/9734437 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛 ...
- Python网络爬虫入门篇
1. 预备知识 学习者需要预先掌握Python的数字类型.字符串类型.分支.循环.函数.列表类型.字典类型.文件和第三方库使用等概念和编程方法. 2. Python爬虫基本流程 a. 发送请求 使用 ...
- 《精通python网络爬虫》笔记
<精通python网络爬虫>韦玮 著 目录结构 第一章 什么是网络爬虫 第二章 爬虫技能概览 第三章 爬虫实现原理与实现技术 第四章 Urllib库与URLError异常处理 第五章 正则 ...
- Python网络爬虫与信息提取
1.Requests库入门 Requests安装 用管理员身份打开命令提示符: pip install requests 测试:打开IDLE: >>> import requests ...
- Python网络爬虫实战(一)快速入门
本系列从零开始阐述如何编写Python网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站的爬虫实战来进行. 我们编写网络爬虫最主要 ...
- python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]
前言 hello,大家好 本章可是一个重中之重,因为我们今天是要爬取一个图片而不是一个网页或是一个json 所以我们也就不用用到selenium模块了,当然有兴趣的同学也一样可以使用selenium去 ...
- python网络爬虫实战之快速入门
本系列从零开始阐述如何编写Python网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站的爬虫实战来进行. 我们编写网络爬虫最主要 ...
随机推荐
- mfc 类对象的引用
类对象引用 自写复制构造函数 一. 类对象引用 在第4课的时候,我们已经讨论过C++引用特性.类变量的引用呢,实际上也是类似的. Tdate d1; Tdate &d2=d1; 二.自写复制构 ...
- 数据增强利器--Augmentor
最近遇到数据样本数目不足的问题,自己写的增强工具生成数目还是不够,终于在网上找到一个数据增强工具包,足够高级,足够傻瓜.想要多少就有多少!再也不怕数据不够了! 简介 Augmentor是一个Pytho ...
- Eclipse中Applet程序运行时Applet小程序大小的设置
最近在跟斯坦福的CS106A,里面的java代码都是Applet程序,而我运行程序的时候发现,Applet小程序窗口大小总是固定的,但是我画的图却越来越大,所以怎么在Eclipse中run的时候 ...
- SSIS 数据流优化
一,数据流设计优化 数据流有两个特性:流和在内存缓冲区中处理数据,根据数据流的这两个特性,对数据流进行优化. 1,流,同时对数据进行提取,转换和加载操作 流,就是在source提取数据时,转换组件处理 ...
- Jupyter安装及运行
一.安装(来自http://jupyter.org/install) Ctrl+Alt+T(Manjaro系统),打开控制台,su进入root权限 输入如下命令: python3 -m pip ins ...
- 简单的Restful工具类
import java.io.BufferedReader;import java.io.ByteArrayOutputStream;import java.io.Closeable;import j ...
- 自己编写的:centos6.6上编译安装apache2.4+php5.6+mysql5.6【亲自】
在centos6.6上安装apache2.4+php5.6+mysql5.6 关于wget的安装 将之前装系统的.iso文件挂载到光驱 由于我在/home/jinnan/下建立了一个cdrom文件夹 ...
- RenderSprite小记
类型定义: /** @private */ public static const IMAGE:int = 0x01; /** @private */ public static const ALPH ...
- RHEL7 利用双网卡绑定实现VLAN
使用nmcli创建bond配置 #nmcli connection add type bond ifname bond0 con-name bond0 mode active-backup #nmcl ...
- Playfair加密
前面讲的不管是单码加密还是多码加密都属于单图加密,什么是单图加密和多图加密呢,简单来说单图加密就是一个字母加密一个字母,而多图加密就是一个字符组加密一个字符组.比如双图加密就是两个字母加密两个字母,这 ...