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 相关文章推荐
学习python处理python编码问题
Mar 13 Python
浅谈Python数据类型之间的转换
Jun 08 Python
python matplotlib画图实例代码分享
Dec 27 Python
python读文件保存到字典,修改字典并写入新文件的实例
Apr 23 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 Python
python 导入数据及作图的实现
Dec 03 Python
python 字典套字典或列表的示例
Dec 16 Python
Python timeit模块的使用实践
Jan 13 Python
django教程如何自学
Jul 31 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 Python
详解python的异常捕获
Mar 03 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
PHP实现股票趋势图和柱形图
2015/02/07 PHP
php短址转换实现方法
2015/02/25 PHP
CodeIgniter针对数据库的连接、配置及使用方法
2016/03/03 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
Angularjs 基础入门
2014/12/26 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
2016/12/13 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
vue实现文字加密功能
2019/09/27 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
mac下pycharm设置python版本的图文教程
2018/06/13 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
python代码实现猜拳小游戏
2020/11/30 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
幼儿教师个人求职信范文
2013/09/21 职场文书
日本语毕业生自荐信
2014/02/01 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
医院安全生产月活动总结
2014/07/05 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
婚宴新娘致辞
2015/07/28 职场文书
公司保密管理制度
2015/08/04 职场文书
浅谈python数据类型及其操作
2021/05/25 Python
python中取整数的几种方法
2021/11/07 Python