python爬虫基本知识


Posted in Python onMarch 05, 2018

爬虫简介

      根据百度百科定义:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。     

随着大数据的不断发展,爬虫这个技术慢慢走入人们的视野,可以说爬虫是大数据应运而生的产物,至少我解除了大数据才了解到爬虫这一技术

随着数据的海量增长,我们需要在互联网上选取所需要的数据进行自己研究的分析和实验。这就用到了爬虫这一技术,下面就跟着小编一起初遇python爬虫!

一、请求-响应

在利用python语言实现爬虫时,主要用到了urllib和urllib2两个库。首先用一段代码说明如下:

import urllib
 import urllib2
 url="http://www.baidu.com"
 request=urllib2.Request(url)
 response=urllib2.urlopen(request)
 print response.read()

我们知道一个网页就是以html为骨架,js为肌肉,css为衣服所构成的。上述代码所实现的功能就是把百度网页的源码爬取到本地。

其中,url为要爬取的网页的网址;request发出请求,response是接受请求后给出的响应。最后用read()函数输出的就是百度网页的源码。

二、GET-POST

两者都是向网页传递数据,最重要的区别是GET方式是直接以链接形式访问,链接中包含了所有的参数,当然如果包含了密码的话是一种不安全的选择,不过你可以直观地看到自己提交了什么内容。

POST则不会在网址上显示所有的参数,不过如果你想直接查看提交了什么就不太方便了,大家可以酌情选择。

POST方式:

import urllib
 import urllib2
 values={'username':'2680559065@qq.com','Password':'XXXX'}
 data=urllib.urlencode(values)
 url='https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn'
 request=urllib2.Request(url,data)
 response=urllib2.urlopen(request)
 print response.read()

GET方式:

import urllib
import urllib2
values={'username':'2680559065@qq.com','Password':'XXXX'}
data=urllib.urlencode(values)
url = "http://passport.csdn.net/account/login"
geturl = url + "?"+data
request=urllib2.Request(geturl)
response=urllib2.urlopen(request)
print response.read()

三、异常处理

处理异常时,用到了try-except语句。

import urllib2
 try:
   response=urllib2.urlopen("http://www.xxx.com")
 except urllib2.URLError,e:
   print e.reason

总结

以上所述是小编给大家介绍的python爬虫基本知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
pycharm 使用心得(七)一些实用功能介绍
Jun 06 Python
python获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
Python根据区号生成手机号码的方法
Jul 08 Python
Python实现快速多线程ping的方法
Jul 15 Python
深入浅析Python字符编码
Nov 12 Python
使用Python对SQLite数据库操作
Apr 06 Python
python 字典中文key处理,读取,比较方法
Jul 06 Python
Python延时操作实现方法示例
Aug 14 Python
python使用epoll实现服务端的方法
Oct 16 Python
Python绘制并保存指定大小图像的方法
Jan 10 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 Python
用tensorflow构建线性回归模型的示例代码
Mar 05 #Python
详解python实现线程安全的单例模式
Mar 05 #Python
分析python动态规划的递归、非递归实现
Mar 04 #Python
python3.x上post发送json数据
Mar 04 #Python
python数据封装json格式数据
Mar 04 #Python
Python爬虫实例扒取2345天气预报
Mar 04 #Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 #Python
You might like
substr()函数中文版
2006/10/09 PHP
ThinkPHP CURD方法之field方法详解
2014/06/18 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
PHP使用递归按层级查找数据的方法
2019/11/10 PHP
JS无限树状列表实现代码
2011/01/11 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
2017/01/20 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
详解Angular2组件之间如何通信
2017/06/22 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
python3.7添加dlib模块的方法
2020/07/01 Python
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
德国综合购物网站:OTTO
2018/11/13 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
爱与责任演讲稿
2014/05/20 职场文书
刑事和解协议书范本
2014/11/19 职场文书
酒店宣传语大全
2015/07/13 职场文书
干货:我将这样书写我的演讲稿!
2019/05/09 职场文书
如何用python反转图片,视频
2021/04/24 Python
聊聊golang中多个defer的执行顺序
2021/05/08 Golang