爬虫
文章平均质量分 94
参考资料:python3网络爬虫(崔庆才)
降温vae+
这个作者很懒,什么都没留下…
展开
-
使用Selenium爬取淘宝商品(绕过登录页面)
文章目录1.准备工作2.接口分析3.页面分析4.获取商品列表5.解析商品列表6.保存到MongoDB7.遍历每页8.异常处理(绕过登录反爬机制)方法一:修改ChromeDriver.exe方法二:将用户信息的配置文件在代码中加载9.运行参考文献在之前的文章中,我们成功尝试分析Ajax来抓取页面相关数据,但是并不是所有的页面都可以通过分析Ajax来完成抓取。比如,淘宝,它的整个页面数据构造也是用过Ajax获取的,但是这些Ajax接口参数比较复杂,可能会包含加密密钥等,所以如果想自己构造Ajax参数,还是比较原创 2022-04-08 16:23:52 · 7862 阅读 · 19 评论 -
Selenium的使用——一篇文章带你入门Selenium
文章目录1.准备工作2.基本使用3.声明浏览器对象4.访问页面5.查找节点单个节点多个节点6.节点交互7.动作链8.执行JavaScript9.获取节点信息获取属性读取文本值获取id、位置、标签名和大小10.切换Frame11.延时等待隐式等待显示等待12.前进和后退13.Cooikes14.选项卡管理15.异常处理Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作等,同时还可以获取浏览器当前呈现的页面代码,做到可以见即可爬。对于一些JavaScript动态渲染的原创 2022-04-05 22:46:10 · 8107 阅读 · 4 评论 -
分析Ajax抓取今日头条街拍图片(关于使用page_num且获取不到json对象的解决办法)
文章目录1.准备工作2.抓取分析3.实战演练参考文献本文,我们以今日头条为例来尝试通过分析Ajax请求来抓取网页数据的方法。这次要抓取的目标是今日头条的街拍图片,抓取并保存。本节代码是参照python3网络爬虫实战的6.4节,但由于现在网页有的东西已经做了更新,所以本文代码也做了相应的修改,使得其可以正常抓取数据。1.准备工作首先,请确保安装好requests库。2.抓取分析在抓取之前,首先要分析抓取的逻辑。打开今日头条的首页https://www.toutiao.com/,如图在搜索框输入街原创 2022-04-03 19:13:58 · 2750 阅读 · 2 评论 -
Ajax结果提取(page更新为使用since_id的解决方法)
文章目录1.分析请求2.分析响应3.实战演练参考文献这里仍然以微博为例,接下来用Python来模拟这些Ajax请求,把许嵩发过爬取下来。1.分析请求打开Ajax的XHR过滤器,然后一直滑动页面以加载新的内容。可以看到,会不断有Ajax请求发出。选定其中一个请求,分析它的参数信息。点击该请求,进入详情页面,如图:可以发现,这是一个GET类型的请求,请求链接为https://m.weibo.cn/api/container/getIndex?type=uid&value=1251000504原创 2022-04-01 21:11:34 · 19319 阅读 · 0 评论 -
Ajax分析方法
文章目录1.查看请求2.过滤请求这里还是以上篇文章什么是Ajax?中的微博为例,我们知道拖动刷新的内容是由Ajax加载,而且页面的URL没有变化,那么应该去哪里查看这些Ajax请求呢?1.查看请求这里还需要借助浏览器的开发者工具,下面以Chrome浏览器为例来介绍。首先,用Chrome浏览器打开微博链接https://m.weibo.cn/u/1251000504,随后页面中点击鼠标右键,从弹出的快捷菜单中选择“检查”选项(或者直接按F12),此时便会弹出开发者工具,如图所示此时在Element原创 2022-04-01 13:09:49 · 181 阅读 · 0 评论 -
什么是Ajax?
文章目录什么是Ajax1.实例引入2.基本原理发送请求解析内容渲染网页有时候,我们在用requests抓取页面的时候,得到的结果可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,但是使用requests得到的结果并没有。这是因为requests获取的都是原始的HTML文档,而浏览器中的页面则是经过JavaScript处理数据后生成的结果,这些数据的来源有多种,可能是通过Ajax加载的,可能是包含在HTML文档中的,也可能经过JavaScript和特定算法计算后生成的。对于第一种情况,数原创 2022-04-01 11:24:43 · 2021 阅读 · 0 评论 -
非关系型数据库存储——Redis存储
文章目录1.准备工作2.Redis和StrictRedis3.连接Redis4.键操作5.字符串操作6.列表操作7.集合操作8.有序集合操作9.散列操作10.RedisDumpredis-dumpredis-loadRedis是一个基于内存的高效的键值型非关系型数据库,存取效率极高。而且支持多种存储数据结构,使用也非常简单。1.准备工作在开始之前,需要安装Redis以及redis-py库。如果要做数据导入/导出操作的话,还需要安装RedisDump。2.Redis和StrictRedisredis原创 2022-03-29 21:41:18 · 2122 阅读 · 0 评论 -
非关系型数据库存储——MongoDB存储
文章目录1.准备工作2.连接MongoDB3.指定数据库4.指定集合5.插入数据6.查询7.计数8.排序9.偏移10.更新11.删除12.其他操作MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据系统,其内容存储形式类似于JSON对象,它的字段值可以包含其他文档、数组及文档数组,非常灵活。以下,我们来介绍一下Python3下MongoDB的存储操作。如果对MongoDB不熟悉,可以看下这几篇文章MongoDB简介,MongoDB概念解析以及MongoDB基础命令。1.原创 2022-03-29 14:33:35 · 1892 阅读 · 0 评论 -
关系型数据库存储——MySQl的存储
文章目录1.准备工作2.连接数据库3.创建表4.插入数据5.更新数据6.删除数据7.查询数据在Python2中,连接MySQl的库大多是使用MySQLdb,但此库的官方并不支持Python3,所以这里推荐使用的库是PyMySQl。本文就来讲解使用PyMySQl操作MySQL数据库的方法1.准备工作在开始之前,请确保已经安装好了MySQL数据库并保证它能正常运行,而且需要安装好PyMySQL库。2.连接数据库这里,首先尝试连接一下数据库。假设当前的MySQL运行在本地,用户名为root,密码为123原创 2022-03-23 17:04:55 · 699 阅读 · 0 评论 -
解析库pyquery的使用
文章目录1.准备工作2.初始化字符串初始化URL初始化文件初始化3.CSS选择器4.查找节点子节点父节点兄弟节点5.遍历6.获取信息获取属性获取文本7.节点操作addClass和removeClass之前的文章中介绍了Beautiful Soup的用法,它是一个非常强大的网页解析库,但是它的CSS选择器的功能可能没有那么强大。这篇文章所讲的pyquery会有一些更强大的功能。1.准备工作在开始之前,需要安装pyquery。如果没有安装,可以使用pip命令或者pycharm插件进行安装。2.初始化像原创 2021-11-02 15:45:22 · 287 阅读 · 0 评论 -
解析库XPath的使用
文章目录1.XPath概览XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言。它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索。所以在做爬虫时,我们完全可以使用XPath来做相应的信息抽取。1.XPath概览XPath的选择功能十分强大,它提供了非常简洁明了的路径选择表达式。另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等。几乎我们...原创 2021-10-19 14:38:37 · 660 阅读 · 0 评论 -
爬虫基础之爬虫基本原理
文章目录爬虫基本原理爬虫概述能抓怎样地数据JavaScript渲染页面会话和Cooikes静态网页和动态网页无状态HTTP爬虫基本原理我们可以把互联网比作一张大网,而爬虫(即网络爬虫)就是在网上爬行的蜘蛛。信息。把节点间的连线比作网页与网页之间的连接关系,这样蜘蛛可以通过一个节点后,顺着节点连线爬行到达下一个节点,即通过一个网页可以继续获取网页的网页,这样整个网的节点便便可以被蜘蛛全部爬行,网站的数据就可以被抓取下来了。爬虫概述简单来说,爬虫就是获取网页并提取和保存信息的自动化程序。下面简要概括一下原创 2021-10-13 18:45:19 · 2210 阅读 · 2 评论 -
利用requests库抓取猫眼电影排行
文章目录1.抓取目标2.准备工作3.抓取分析4.抓取首页5.正则提取6.写入文件7.整合代码8.分页爬取9.运行结果10.本节代码最近刚开始了解爬虫,学习了一下基本库的使用。跟着书上做一个小练习,利用requests库抓取猫眼电影TOP100的相关内容。因为还没系统学习过HTML解析库,所以就用正则表达式来作为解析工具。1.抓取目标下面,我们将提取出猫眼电影TOP100的电影名称、时间、评分、图片等信息,提取的站点URL为http://maoyan.com/board/4,提取的结果会以文件形式保存下原创 2021-10-17 16:23:23 · 663 阅读 · 0 评论 -
爬虫基础之网页基础
文章目录网页基础网页的组成网页的结构节点树与节点之间的关系选择器网页基础用浏览器访问网站时,页面各不相同,它为什么会呈现这个样子呢?下面,我们就来了解这些网页的组成网页可以分为三大部分——HTML、CSS和JavaScript。如果把网页比作一个人的话,HTML相当于骨架,JavaScript相当于肌肉,CSS相当于皮肤,三者结合起来才能形成一个完善的网页。 下面我们分别来看一下这三部分内容。1.HTMLHTML是用来描述网页的一种语言,其全称叫做Hyper Text Markup Langua原创 2021-10-13 10:32:57 · 244 阅读 · 0 评论 -
数据存储之文件存储
文章目录TXT文本存储1.目标2.实例3.打开方式4.简化写法JSON文件存储1.对象和数组2.读取JSON3.输出JSONCSV文件存储1.写入2.读取文件存储的形式多种多样,比如可以保存成TXT纯文本形式,也可以保存为JSON格式、CSV格式等。TXT文本存储将数据保存到TXT文本的操作非常简单,而且TXT文本几乎兼容任何平台,但是这有个缺点,就是不利于检索。所以如果对检索和数据结构要求不高,追求方便第一的话,可以采用TXT文本存储,我们来看下如何用Python保存TXT文本文件。1.目标我们原创 2021-11-03 16:15:01 · 1826 阅读 · 1 评论 -
解析库Beautiful Soup的使用
文章目录1.简介2.准备工作3.解析器4.基本用法5.节点选择器选择元素提取信息嵌套选择关联选择这篇文章我们来介绍一个强大的解析工具Beautiful Soup,它借助网页的结构和属性等特性来解析网页。有了它,我们不用再去写一些复杂的正则表达式,只需要简单的几条语句,就可以完成网页中某个元素的提取。1.简介简单来说,Beautiful Soup就是Python的一个HTML或XML的解析库,可以用它来方便地从网页中提取数据。官方的解释如下:Beautiful Soup提供一些简单的、Python式原创 2021-10-24 11:45:43 · 9304 阅读 · 1 评论 -
爬虫基础之基本库requests的使用
文章目录使用requests基本用法1.准备工作2.实例引入3.GET请求4.POST请求5.响应高级用法1.文件上传2.Cooikes3.会话维持4.SSL证书验证5.代理设置6.超时设置7.身份认证8.Prepared Request使用requests上一篇文章,我们了解了爬虫基础之基本库urllib的使用,但是其中有一些不方便,比如处理网页验证和Cooikes时,需要写Opener和Handler来处理。为了实现这些操作,就有了更为强大的库requests。基本用法1.准备工作安装requ原创 2021-10-16 14:09:13 · 281 阅读 · 0 评论 -
爬虫基础之正则表达式
文章目录正则表达式1.实例引入2.match()3.search()4.findall()5.sub()6.compile()正则表达式正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索、替换、匹配验证都不在话下。当然,对于爬虫来说,有了它,从HTML里提取想要的信息就非常方便了。1.实例引入打开开源中国提供的正则表达式工具http://tool.oschina.net/regex/,输入待匹配文本,然后选择常用的正则表达式,就可以得到相应的匹配结果。例如,这里输入的原创 2021-10-17 12:18:46 · 653 阅读 · 0 评论 -
爬虫基础之基本库urllib的使用
文章目录使用urllib发送请求1.urlopen()Request高级用法处理异常1.URLError2.HTTPError解析链接1.urlparse()2.urlunparse()3.urlsplit()4.urlunsplit()5.urljoin()6.urlencode()7.parse_qs()8.parse_qsl()9.quote()10.unquote()分析Robots协议1.Robots协议2.爬虫名称3.robotparser使用urllib在python2中,有urllib和原创 2021-10-15 15:38:14 · 319 阅读 · 0 评论 -
爬虫基础知识之HTTP基本原理
文章目录HTTP基本原理URI和URL超文本HTTP和HTTPSHTTP请求过程请求HTTP基本原理首先,我们要了解HTTP的基本原理,了解在浏览器中敲入URL到获取网页内容之间发生了什么。了解这些内容有助于我们进一步了解爬虫的基本知识。URI和URL我们先了解一下URI和URL,URI的全称为Uniform Resource Identifier,即统一资源标志符,URL的全称Universal Resource Locator,即统一资源定位符。举个例子,https://github.com/原创 2021-10-12 14:15:24 · 450 阅读 · 0 评论