官方文档 以下内容大多来自于官方文档,本文进行了一些修改和总结.要了解更多可以参考 官方文档 安装 利用 pip 安装 $ pip install requests 或者利用 easy_install $ easy_install requests 通过以上两种方法均可以完成安装. 引入 首先我们引入一个小例子来感受一下 import requests r = requests.get('http://cuiqingcai.com') print type(r) print r.status_c…
前言 之前我们用了 urllib 库,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助.入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取.那么这一节来简单介绍一下 requests 库的基本用法. 注:Python 版本依然基于 2.7 官方文档 以下内容大多来自于官方文档,本文进行了一些修改和总结.要了解更多可以参考 官方文档 安装 利用 pip 安装   1 $ pip install requests 或者利用 easy_install  …
requests 官方文档: http://cn.python-requests.org/zh_CN/latest/user/quickstart.html request 是一个第三方的HTTP库 1.发起请求 发起GET请求非常简单,直接使用requests的get方法即可.比方说下面的代码获取百度首页的信息. import requests baidu_url = 'https://www.baidu.com' response = requests.get(baidu_url) prin…
1.安装 利用pip来安装reques库,进入pip的下载位置,打开cmd,默认地址为 C:\Python27\Scripts 可以看到文件中有pip.exe,直接在上面输入cmd回车,进入命令行界面,输入下载指令即可下载 pip install requests 2.基本请求 requests库提供了http所有的基本请求方式. r = requests.get("http://httpbin.org/get") r = requests.post("http://http…
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览器,调试浏览器F12,我用的是Chrome,打开网络监听,示意如下,比如知乎,点登录之后,我们会发现登陆之后界面都变化了,出现一个新的界面,实质上这个页面包含了许许多多的内容,这些内容也不是一次性就加载完成的,实质上是执行了好多次请求,一般是首先请求HTML文件,然后加载JS,CSS 等等,经过多次…
Python爬虫之Beautiful Soup解析库的使用 Beautiful Soup-介绍 Python第三方库,用于从HTML或XML中提取数据官方:http://www.crummv.com/software/BeautifulSoup/ 安装:pip install beautifulsoup4 Beautiful Soup-语法 soup = BeautifulSoup(html_doc,'html.parser‘,from_encoding='utf-8' ) 第一个参数:html…
静觅 » Python爬虫入门四之Urllib库的高级用法 1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览器,调试浏览器F12,我用的是Chrome,打开网络监听,示意如下,比如知乎,点登录之后,我们会发现登陆之后界面都变化了,出现一个新的界面,实质上这个页面包含了许许多多的内容,这些内容也不是一次性就加载完成的,实质上是执行了好多次请求,一般…
静觅 » Python爬虫入门三之Urllib库的基本使用 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS.CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服.所以最重要的部分是存在于HTML中的,下面我们就写个例子来扒一个网页下来. import urllib2 response = urllib2.urlo…
上一节我们介绍了正则表达式,它的内容其实还是蛮多的,如果一个正则匹配稍有差池,那可能程序就处在永久的循环之中,而且有的小伙伴们也对写正则表达式的写法用得不熟练,没关系,我们还有一个更强大的工具,叫Beautiful Soup,有了它我们可以很方便地提取出HTML或XML标签中的内容,实在是方便,这一节就让我们一起来感受一下Beautiful Soup的强大吧. 1. Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官…
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. 给大家推荐一个Python交流的q裙,大家在学习遇到了什么问题都可以进群一起交流,大家一起学习一起进步:610 380 249 JSON 函数 使用 JSON 函数需要导入 json 库:import json. 函数描述:json.dumps将 Python 对象编码成 JSON 字符串json.loads将已编码的 JSON 字符串解码为 Python 对象 语法: json.d…
总结一下自己对python常用包:Numpy,Pandas,Matplotlib,Scipy,Scikit-learn 一. Numpy: 标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指 针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象.对于数值运算来说这种结构显然比较浪费内存和CPU计算时间. 此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和…
urllib库在很多时候都比较繁琐,比如处理Cookies.因此,我们选择学习另一个更为简单易用的HTTP库:Requests. requests官方文档 1. 什么是Requests Requests是用python编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库.它比urllib更加简单易用. 2. 使用Requests库 2.1 构建请求 使用requests可以很方便的构建请求: r = requests.get('https://api.github.c…
正则表达式可以从html代码中提取我们想要的数据信息,它比较繁琐复杂,编写的时候效率不高,但我们又最好是能够学会使用正则表达式. 我在网络上发现了一篇关于写得很好的教程,如果需要使用正则表达式的话,参照此篇文章即可:正则表达式30分钟入门教程 在这里我们学习使用另一种简便的方法用来解析网页:BeautifulSoup库. BeautifulSoup是一种灵活又方便的网页解析库,处理高效,支持多种解析器.利用它就可以不编写正则表达式也可以方便地实现网页信息的提取. 接下来内容转载自python爬虫…
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,我们在日常使用Python的过程中,经常会使用json格式存储一些数据,尤其是在web开发中.而Python原生的json库性能差.功能少,只能堪堪应对简单轻量的json数据存储转换需求. 而本文我要给大家介绍的第三方json库orjson,在公开的各项基准性能测试中,以数倍至数十倍的性能优势碾压json.ujson.ra…
设置代理IP的原因 我们在使用Python爬虫爬取一个网站时,通常会频繁访问该网站.假如一个网站它会检测某一段时间某个IP的访问次数,如果访问次数过多,它会禁止你的访问.所以你可以设置一些代理服务器来帮助你做工作,每隔一段时间换一个代理,这样便不会出现因为频繁访问而导致禁止访问的现象. 我们在学习Python爬虫的时候,也经常会遇见所要爬取的网站采取了反爬取技术导致爬取失败.高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,所以下面这篇文…
1.首先分析请求,打开4399网站. 右键检查元素或者F12打开开发者工具.然后找到network选项, 这里最好勾选perserve log 选项,用来保存请求日志.这时我们来先用我们的账号密码登陆一下,然后查看一下截获的请求 可以很清楚的看到这里有个login,而且这个请求是post请求,下拉查看一下Form data,也就是表单数据 可以很清楚的看到我们的刚才登录发送给服务器的表单数据,更重要的是,除了uername和password之外,所有的数据都是一成不变的,这意味着我们不需要解析网…
BeautifulSoup 网页解析库 阅读目录 初识Beautiful Soup Beautiful Soup库的4种解析器 Beautiful Soup类的基本元素 基本使用 标签选择器 节点操作 标准选择器 find_all( name , attrs , recursive , text , **kwargs ) find( name , attrs , recursive , text , **kwargs ) CSS选择器 实例:中国大学排名爬虫 初识Beautiful Soup 官…
urllib 是python内置的基本库,提供了一系列用于操作URL的功能,我们可以通过它来做一个简单的爬虫. 0X01 基本使用 简单的爬取一个页面: import urllib2 request = urllib2.Request("http://www.cnblogs.com") response = urllib2.urlopen(request) print response.read() GET方式 import urllib import urllib2 values =…
近日,在浏览伯乐在线(http://blog.jobbole.com/29281/)的时候碰到一些很不错的资源:25本免费的Python电子书 如下图: 其中,每本都是以名字+超链接的方式,于是激起了我写个小程序保存这些资源的欲望,顺便也能练习一些不太熟练的小爬虫 : ) . 好了,我们开始吧! 先展示一下成果给大家看嗯: 如图 每本书都很有条理的保存在本地文档中,结果还是挺满意的哈. 首先呢 要完成这些工作大概要分为一下几个步骤: 1. 获得整个页面的源代码 (网页源码HTML) 2. 获得目…
实例需求:运用python语言爬取http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html这个开奖网站所有的信息,并且保存为txt文件和excel文件. 实例环境:python3.7  BeautifulSoup库.xlwt库(需手动安装)  urllib库.re库(内置的python库,无需手动安装) 实例网站: 第一步,点击链接http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html进入网站,查看网站基本…
最近在看爬虫相关的东西,一方面是兴趣,另一方面也是借学习爬虫练习python的使用,推荐一个很好的入门教程:中国大学MOOC的<python网络爬虫与信息提取>,是由北京理工的副教授嵩天老师讲的,感觉讲的很清晰,课件也很详细. 学习爬虫,怎么也绕不开requests库和BeautifulSoup库,先说下BeautifulSoup库: BeautifulSoup库通俗来说是[解析.遍历.维护“标签树”(例如html.xml等格式的数据对象)的功能库 ]一个简单的使用BeautifulSoup库…
Python图像处理-Pillow 简介 Python传统的图像处理库PIL(Python Imaging Library ),可以说基本上是Python处理图像的标准库,功能强大,使用简单. 但是由于PIL不支持Python3,而且更新缓慢.所以有志愿者在PIL的基础上创建了一个分支版本,命名为Pillow,Pillow目前最新支持到python3.6,更新活跃,并且增添了许多新的特性.所以我们安装Pillow即可. 安装 Pillow的安装比较的简单,直接pip安装即可: pip insta…
在我们爬取网页过程中,经常发现我们想要获得的数据并不能简单的通过解析HTML代码获取,这些数据是通过AJAX异步加载方式或经过JS渲染后才呈现在页面上显示出来. selenuim是一种自动化测试工具,它支持多种浏览器.而在爬虫中,我们可以使用它来模拟浏览器浏览页面,进而解决JavaScript渲染的问题. 1. 使用示例 from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.w…
当你在爬取某些网站的时候 对于你的一些频繁请求 对方会阻碍你 常见的方式就是使用验证码 验证码的主要功能 就是区分你是人还是鬼(机器人) 人 想法设法的搞一些手段来对付技术 而 技术又能对付人们的想法 一来一去 就有了各种各样的变态验证码 也有了各种各样的应对方式 常见的验证码有这么几种 图像验证 语音验证 短信验证 极验验证 点击验证 今天 小帅b想跟你先说说如何识别图像验证码 那么 接下来就是 学习 python 的正确姿势 我们来看看这些图片验证码 (此图来源网络) 可以发现 这些验证码大…
1.方法: response=requests.post("https://www.baidu.com/s",data=data) 2.拉勾网职位信息获取 因为拉勾网设置了反爬虫机制,在拉勾网中,一些页面的信息获取方法是post,所以就用到了post方法 在拉勾网中,我们搜索与python相关的职业,如果我们爬取这一页的信息,是没有职业的信息的,因为职业的信息在另外的jsp页面上,所以我们需要在这个界面上爬取到职业的信息,选择一个城市+学生身份 同样,在页面右击,选择查看元素,找到网络…
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览器,调试浏览器F12,我用的是Chrome,打开网络监听,示意如下,比如知乎,点登录之后,我们会发现登陆之后界面都变化了,出现一个新的界面,实质上这个页面包含了许许多多的内容,这些内容也不是一次性就加载完成的,实质上是执行了好多次请求,一般是首先请求HTML文件,然后加载JS,CSS 等等,经过多次…
Requests是Python的一个优雅而简单的HTTP库,它比Pyhton内置的urllib库,更加强大. 0X01 基本使用 安装 Requests,只要在你的终端中运行这个简单命令即可: pip install requests 基本HTTP 请求类型: r = requests.get('http://httpbin.org/get') r = requests.post("http://httpbin.org/post") r = requests.put("htt…
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 拆分这些请求,我们只看一第一个请求,你可以看到,有个Request URL,还有headers,下面便是response,图片显示得不全,小伙伴们可以亲身实验一下.那么这个头中包含了许许多多的·信息,有文件编码,压缩方式,请求的agent等等.(Chrome,开发者选项) 其中,agent就是请求的身份,如果没有写入请…
这里使用python2.7,pycharm进行代码编写 1.爬一个静态网页示例 import urllib2 response = urllib2.urlopen("http://www.baidu.com") print response.read() 把它保存成 demo.py,进入该文件的目录,执行: python demo.py 2.代码解析 首先我们调用的是urllib2库里面的urlopen方法,传入一个URL,这个网址是百度首页,协议是HTTP协议,当然你也可以把HTTP…
lxml库:是xml解析库,也支持html文档解析功能,实用功能:自动修正补全html代码. 使用流程:①导入lxml中的etree库,②利用etree.HTML(文件名)或etree.parse(本地打开,路径)进行初始化,③etree库把HTML文档解析为Element对象. from lxml import etree text=""" <div > <div class="sidebarContent">sdssdds &l…