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 相关文章推荐
简单的Python2.7编程初学经验总结
Apr 01 Python
Python 查看文件的编码格式方法
Dec 21 Python
python smtplib发送带附件邮件小程序
May 22 Python
VSCode Python开发环境配置的详细步骤
Feb 22 Python
python障碍式期权定价公式
Jul 19 Python
Python socket 套接字实现通信详解
Aug 27 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
Jun 18 Python
python 19个值得学习的编程技巧
Aug 15 Python
Python之京东商品秒杀的实现示例
Jan 06 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 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 读取文件内容代码(txt,js等)
2009/12/06 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
php封装的page分页类完整实例
2016/10/18 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
2017/01/05 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
基于axios 解决跨域cookie丢失的问题
2018/09/26 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
python中assert用法实例分析
2015/04/30 Python
Python 数据处理库 pandas进阶教程
2018/04/21 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
学习python需要有编程基础吗
2020/06/02 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
浅析Python中字符串的intern机制
2020/10/03 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
荷兰网上鞋店:Ziengs.nl
2017/01/02 全球购物
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
Java语言的优势
2015/01/10 面试题
品质主管的岗位职责
2013/12/04 职场文书
英语商务邀请函范文
2014/01/16 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
追悼会答谢词范文
2015/09/29 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书