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网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站的爬虫实战来进行. 我们编写网络爬虫最主要 ...
随机推荐
- https确实加密了。 抓包是一个中间人攻击过程
https加密了为什么抓包还是明文 有客户已经正确部署了SSL证书,但是向我们提出了这个问题:我今天采用抓包工具进行抓包,但是我发现数据没有加密,请问是怎么回事?那采用证书加密有什么用?是不是很轻易的 ...
- cogs791 [HAOI2012] 音量调节
大水题 这种题谁不能1A谁就吔屎/退役吧(说的就是我) 设dp[i][j]表示调完前i个音量为j有没有可能 没了 // It is made by XZZ // Fei Fan Ya Xi Lie~~ ...
- Kafka系列一 基本安装
一 配置文件(下载.解压.跳过) # Licensed to the Apache Software Foundation (ASF) under one or more # contributor ...
- ESP8266/ESP32模块晶振频偏调试
ESP8266/ESP32模块晶振频偏调试 !> 前提:晶振频偏调试是需要仪器设备的支持才能完成的. 测试环境:IQ2010综合测试仪 本文仅记录有关频偏调试的主要内容,其余不在赘述. IQ20 ...
- Unity3D — —存读档【转载】
详细可参考此篇博文: Unity序列化之XML,JSON--------合成与解析 简单例子(SiKi学院教程): using System.Collections; using System.Col ...
- 使用TCP在同一台电脑上可以建立连接,在两台电脑上却连接失败的原因分析
最近在用unity做联机游戏,在网络方面费了不少劲,总是在代码没问题的时候出一些莫名奇妙的BUG,不过后来都决定了.如果感觉代码没问题,八成就是防火墙的问题. 用unity发布后的游戏,如果涉及网络, ...
- 我看微软收购GitHub
今天是微软收购GitHub的第三天,之前很多人担心被微软收购的GitHub会步Skype,诺基亚等企业的后尘,凡此种种我觉得更多人的担心是:GitHub不再开源免费罢了. GitHub今年4月刚成立十 ...
- 比较undefined和“undefined”
说实话,它们之间的区别挺明显的,我们一般认为undefined是JavaScript提供的一个“关键字”,而“undefined”却是一个字符串,只是引号的内容和undefined一样. undefi ...
- Git常用使用技巧
- 此随笔不是使用教材,使用教材参照git官方文档和相应博客 - 此随笔不是转载而来,涉及不少三方链接,再次表示感谢 - 此随便乃实践中碰到的问题,增加开发效率,干货满满 git 撤销某次提交的技巧: ...
- VSCode配合ESLint自动修复格式化
开发Vue或者React的项目的时候,我们经常用到ESLint进行代码的校验,当代码出现不符合规范的格式的时候,ESLint会在控制台提示相关的异常信息. ESLint极大的提高了团队代码的一致性和规 ...