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类型强制转换long to int的代码
Feb 10 Python
Python实现telnet服务器的方法
Jul 10 Python
Python使用cookielib模块操作cookie的实例教程
Jul 12 Python
python学习教程之Numpy和Pandas的使用
Sep 11 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
Jan 02 Python
python实现简单日期工具类
Apr 24 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
Python Django 添加首页尾页上一页下一页代码实例
Aug 21 Python
Python xlwt模块使用代码实例
Jun 10 Python
python简单实现插入排序实例代码
Dec 16 Python
python Django框架快速入门教程(后台管理)
Jul 21 Python
python保存图片的四个常用方法
Feb 28 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
php创建session的方法实例详解
2015/01/27 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
JS高级笔记
2011/07/13 Javascript
javascript中length属性的探索
2011/07/31 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
实例讲解JavaScript预编译流程
2019/01/24 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
详解Python3中字符串中的数字提取方法
2017/01/14 Python
Python中dict和set的用法讲解
2019/03/28 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
医院合作协议书
2014/08/19 职场文书
统计工作个人总结
2015/03/03 职场文书
2016消防宣传标语口号
2015/12/26 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis
python 如何用terminal输入参数
2021/05/25 Python
pytorch 实现多个Dataloader同时训练
2021/05/29 Python
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL
Apache POI的基本使用详解
2021/11/07 Servers