爬虫学习
文章平均质量分 86
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
阿波拉
这个作者很懒,什么都没留下…
展开
-
Python爬虫学习笔记(一)————网页基础
我们可以随意打开一个网站,比如京东首页,然后单击鼠标右键选择“检查元素”菜单或者按 F12,即可打开浏览器开发者工具,接着切换到 Elements 面板,这时候呈现的就是京东网首页对应的 HTML,它包含了一系列标签,浏览器解析这些标签后,便会在网页中将它们渲染成一个个节点,这便形成了我们平常看到的网页。这颗节点树展示了节点的集合,以及它们之间的联系。标题标签(h1-h6标签)、段落标签(p标签)、i/em标签(斜体)、b/strong标签(粗体)、blockquote/q标签(引用)等等。原创 2023-07-12 21:05:43 · 3626 阅读 · 0 评论 -
Python爬虫学习笔记(三)————urllib
模拟浏览器向服务器发送请求response服务器返回的数据response的数据类型是字节‐‐>字符串 解码decode字符串‐‐>字节 编码encoderead()read(5)返回前五个字节readline()读取一行一行一行读取 直至结束getcode()获取状态码,是200的话表示状态正常,还可能为404等等geturl()获取访问的url地址获取headers状态信息,响应头请求网页 请求图片 请求视频运行框中通过Ctrl+f来进行搜索内容。原创 2023-07-16 10:41:22 · 2836 阅读 · 0 评论 -
Python爬虫学习笔记(二)————爬虫简介
1.使用透明代理,对方服务器可以知道你使用了代理,并且也知道你的真实IP。2.使用匿名代理,对方服务器可以知道你使用了代理,但不知道你的真实IP。3.使用高匿名代理,对方服务器不知道你使用了代理,更不知道你的真实IP。User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版 本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件。网站返回的是js数据 并不是网页的真实数据 selenium驱动真实的浏览器发送请求。原创 2023-07-12 22:29:13 · 2585 阅读 · 0 评论 -
Python爬虫学习笔记(十一)————scrapy shell
Scrapy终端,是一个交互终端,供您在未启动spider的情况下尝试及调试您的爬取代码。其本意是用来测试提取 数据的代码,不过您可以将其作为正常的Python终端,在上面测试任何的Python代码。该终端是用来测试XPath或CSS表达式,查看他们的工作方式及从爬取的网页中提取的数据。在编写您的spider时,该 终端提供了交互性测试您的表达式代码的功能,免去了每次修改后运行spider的麻烦。一旦熟悉了Scrapy终端后,您会发现其在开发和调试spider时发挥的巨大作用。原创 2023-07-20 23:10:41 · 274 阅读 · 0 评论 -
Python爬虫学习笔记(九)————requests
快速上手 http://cn.python‐requests.org/zh_CN/latest/user/quickstart.html。官方文档 http://cn.python‐requests.org/zh_CN/latest/r.url : 获取请求的url。r.content : 响应的字节类型。r.status_code : 响应的状态码。(1) get请求的参数名字是params post请求的参数的名字是data。参数类型是一个字典类型。原创 2023-07-20 10:38:56 · 789 阅读 · 0 评论 -
Python爬虫学习笔记(八)————Phantomjs与Chrome handless
①是一个无界面的浏览器②支持页面元素查找,js的执行等③由于不进行css和gui渲染,运行效率要比真实的浏览器要快很多。原创 2023-07-18 14:47:39 · 2048 阅读 · 0 评论 -
Python爬虫学习笔记(五)————JsonPath解析
目录1.JSONPath —— xpath在json的应用2.JSONPath 表达式3.jsonpath的安装及使用方式4.jsonpath的使用5.JSONPath语法元素和对应XPath元素的对比6.实例 (1)商店案例(2) 解析淘票票的“城市选择”数据 pip安装: pip install jsonpath obj = json.load(open('json文件', 'r', encoding='utf‐8')) ret = jsonpath.jso原创 2023-07-17 17:12:05 · 2598 阅读 · 0 评论 -
Python爬虫学习笔记(七)————Selenium
(1)Selenium是一个用于Web应用程序测试的工具。(2)Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。(3)支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动真实浏览器完成测试。(4)selenium也是支持无界面浏览器操作的。原创 2023-07-18 14:22:02 · 2188 阅读 · 0 评论 -
Python爬虫学习笔记(四)————XPath解析
(6)如果crx文件失效,需要将后缀修改zip。(5)拖拽xpath插件到扩展程序中。注意:提前安装xpath插件。(1)打开chrome浏览器。(8)关闭浏览器重新打开。xpath解析分为两种。xpath解析本地文件。(2)点击右上角小圆点。原创 2023-07-17 10:59:16 · 1629 阅读 · 0 评论 -
Python爬虫学习笔记(十三)————CrawlSpider
继承自scrapy.SpiderCrawlSpider可以定义规则,再解析html内容的时候,可以根据链接规则提取出指定的链接,然后再向这些链接发送请求所以,如果有需要跟进链接的需求,意思就是爬取了网页之后,需要提取链接再次爬取,使用CrawlSpider是非常合适的。原创 2023-07-22 12:51:28 · 345 阅读 · 0 评论 -
Python爬虫学习笔记(十)————Scrapy
(1)引擎 ‐‐‐》自动运行,无需关注,会自动组织所有的请求对象,分发给下载器 (2)下载器 ‐‐‐》从引擎处获取到请求对象后,请求数据 (3)spiders ‐‐‐》Spider类定义了如何爬取某个(或某些)网站。(4)调度器 ‐‐‐》有自己的调度规则,无需关注 (5)管道(Item pipeline) ‐‐‐》最终处理数据的管道,会预留接口供我们处理数据 当Item在Spider中被收集之后,它将会被传递到Item Pipeline,一些组件会按照一定的顺序执行对Item的处理。原创 2023-07-20 22:46:30 · 735 阅读 · 0 评论 -
Python爬虫学习笔记(十二)————scrapy案例
(2) yield 是一个类似 return 的关键字,迭代一次遇到yield时就返回yield后面(右边)的值。重点是:下一次迭代 时,从上一次迭代遇到的yield后面的代码(下一行)开始执行。(3)简要理解:yield就是 return 返回一个值,并且记住这个返回的位置,下次迭代就从这个位置后(下一行)开始。(1)带有 yield 的函数不再是一个普通函数,而是一个生成器generator,可用于迭代。(6) pipelines.py文件。(2)__init__.py文件。(3)dang.py文件。原创 2023-07-22 00:38:43 · 398 阅读 · 1 评论 -
Python爬虫学习笔记(六)————BeautifulSoup(bs4)解析
(1).获取节点内容:适用于标签中嵌套标签的结构 obj.string obj.get_text()【推荐】 (2).节点的属性 tag.name 获取标签名 eg:tag = find('li) print(tag.name) tag.attrs将属性值作为一个字典返回 (3).获取节点属性 obj.attrs.get('title')【常用】 obj.get('title') obj['title']注意:默认打开文件的编码格式gbk所以需要指定打开编码格式。(3)缺点:效率没有lxml的效率高。原创 2023-07-17 22:44:13 · 1495 阅读 · 0 评论