![](https://img-blog.csdnimg.cn/20200720171437145.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
爬虫专栏
掌握NLP分析常用到的常见的爬虫思路,并通过实战加以运用
唐僧爱吃唐僧肉
这个作者很懒,什么都没留下…
展开
-
爬取铁路12306的对应数据
铁路12306对应的网址是Source与Elements对应的区别在于Source当中包含一些其他的元素,如果是静态数据在Elements当中就可以查看的到,如果是动态数据必须在Sources中进行查看原创 2021-05-14 12:02:07 · 576 阅读 · 0 评论 -
爬取链家二手房交易数据
请求:浏览器的地址栏的url向服务器发送请求关注的内容:请求的url请求的方式method get/post请求参数响应: 作出响应响应状态码:200 418 404 500浏览器的工作原理:发请求-》收响应-》解析-》显示爬虫–》模拟浏览器发送请求,收响应结果-》解析-》提取-》存储到数据库中使用python编写代码,模拟浏览器去工作(1)找到要爬取的url,发送请求https://www.aminer.cn/search/pub?q=%E6%95%B0%E5%AD%原创 2021-05-14 12:01:56 · 311 阅读 · 0 评论 -
爬虫之urllib基本库的使用
1.使用urlopen构造最基本的http请求方法,模拟浏览器的一个请求发起的过程import urllib.requestresponse = urllib.request.urlopen('https://www.python.org')print(response.read().decode('utf-8'))使用两行代码完成了python官网的抓取过程,输出了网页的源代码,它是一个HTTPResponse类型的对象,主要包括read(),readinto(),getheader(name原创 2021-05-07 08:20:06 · 80 阅读 · 0 评论 -
单线程+异步协程的操作
event_loop:事件循环,相当于一个无线循环,我们可以吧一些函数注册到这个事件循环上,当满足某些条件的时候,函数就会被循环执行。coroutine:协程对象。我们可以将协程对象注册到事件循环中,它会被事件循环调用。我们可以使用async关键字来定义一个方法,这个方法在调用的时候不会立即被执行,而是返回一个协程对象。task:任务,它是对协程对象的进一步封装,包含了任务的各个状态。future:代表将来执行或还没有执行的任务,实际上和task没有本质区别。async:定义一个协程。await:原创 2021-01-15 23:02:34 · 540 阅读 · 0 评论 -
多现存编程
高性能异步爬虫目的:在爬虫中使用异步实现高性能的数据爬取操作异步爬虫的方式:- 多线程,多进程(不建议使用,因为爬虫的数量有限制):好处:可以为相关阻塞的操作单独开启进程或线程,阻塞操作就可以异步执行。弊端:无法无限制的开启多线程或者多进程。(开启多线程或者多进程会影响cpu的效率,进而影响爬取数据的效率)- 线程池、进程池(适当的使用):好处:我们可以降低系统对进程或者线程创建或者销毁的一个频率,从而很好地降低系统的开销。(不需要对进程或者线程进行频繁的创建或者销毁)弊端:池中线程或者原创 2021-01-18 21:58:18 · 41 阅读 · 0 评论 -
xpath解析,人人网模拟登陆
xpath解析原理:1.实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中。2.调用etree对象中的xpath方法结合xpath表达式实现标签的定位和内容的捕获。如何实例化一个etree对象?from lxml import etree1.将本地的html文档中的源码数据加载到etree对象中etree.parse(filepath)2.可以将从互联网上获取的源码数据加载到该对象中etree.HTML(‘page_text’)xpath(‘xpath表达式’)原创 2021-01-14 19:03:34 · 533 阅读 · 0 评论 -
爬虫数据解析相应的思路
聚焦爬虫:爬取页面中指定的页面内容数据解析分类数据解析原理概述- 正则- bs4- xpath(重点内容,通用性比较强)第一个可能在两个之前存在着url第二个有可能在图片之中存在着相应的url数据解析原理概述:- 解析的局部的文本内容都会在标签之间或者在标签对应的属性中进行存储- 进行指定标签的定位- 标签或者标签对应的属性中存储的数据值进行提取(解析)...原创 2021-01-14 16:28:26 · 144 阅读 · 0 评论 -
爬取药品监督情况数据
首先打开国家药品监督局的相应网址国家药品监督局的相应网址找到某一家企业点击相应的许可证编号那一个栏目,查看相应的许可证情况上面对应的内容为我们需要爬取的对应的数据不确定对上述的网页进行访问的时候,我们能够得到对应的企业名称,许可证编号,发证机关等相应的数据,这时候我们可以尝试着发一次请求,看看能否得到页面中对应的相应的数据import requestsimport jsonurl = 'http://scxk.nmpa.gov.cn:81/xk/'headers = { 'Us原创 2021-01-14 15:33:10 · 1491 阅读 · 1 评论 -
肯德基餐厅信息查询
肯德基餐厅信息查询网页打开网页之后,在查询框中输入北京,然后点击查询,发现地址栏之中的url信息并没有发生变化,所以这里使用的是阿贾克斯查询动态渲染的方式。这里面返回的内容为Content-Type:text/plain,也就是返回的是text的对应内容,所以可以用.text()获取对应的文本信息。...原创 2021-01-14 14:02:00 · 3306 阅读 · 0 评论 -
豆瓣电影当中的电影详情数据
打开豆瓣电影,点击当中的排行榜,相应的类型选择为喜剧类型,当前的数据如果不使用数据解析来实现的话,会不会通过阿贾克斯请求来请求到json形式相应的电影数据呢?当滚轮拖动到底部的时候,发现滚轮很快就变动到中间了,意味着滚轮拖动到底部的时候又重新发起了一波请求,请求到了另外一波电影数据。我们发现滚轮拖动到底部的时候,捕获到一个相应的阿贾克斯数据包意味着对下面这个url的前面的url内容https://movie.douban.com/j/char/top_list发起一个get请求并且传入相应的参数原创 2021-01-14 11:42:29 · 539 阅读 · 2 评论 -
爬虫之翻译数据抓取
如果直接使用百度翻译的网址百度翻译的网址能得到一个百度翻译对应的页面,但是这个页面不是我们需要的,我们需要的是输入相应的文字之后能够得到对应内容的翻译此时如果我输入dog进行翻译之后会发现dog对应的url的内容如下:dog对应的url内容仔细观察之后发现,将对应网址中的dog内容删除之后,页面重新进行了一次刷新,页面对应的网址变回原来的百度翻译界面而录入dog之后,没有触碰任何的界面,它又自动刷新,我们碰到了一个页面的局部刷新内容,我们知道页面的局部刷新可以通过阿贾克斯的内容实现。此时我们打原创 2021-01-14 11:03:15 · 852 阅读 · 1 评论 -
爬取搜狗指定词条的搜索结果
首先用搜狗搜索波晓张发现后面的参数很多,这么多参数是否都是我们需要使用的呢?发现query=波晓张这个内容才是对应我们需要使用的,后面无用的参数我们先删除掉,然后判断这个url是否是我们需要的。此时我们需要将前面的sogou.com/web的对应的参数和后面的query=波晓张切割开来,提取出后面相应的参数,然后分别传入get的方法之中,对应的代码如下:#UA:User-Agent{请求载体的身份标识}#UA伪装:门户网站的服务器会检测对应请求的载体身份标识#如果检测到请求的载体身份标识为某一款原创 2021-01-14 09:56:31 · 1000 阅读 · 2 评论 -
爬虫requests模块初使用
requests模块:python中原生的一款基于网络请求的模块,功能非常强大,简单便携,现在requests模块已经代替了urllib模块,因为urllib模块是一个比较老的模块,使用起来非常的麻烦。如何使用:(requests模块的编码流程)- 指定url- 发起请求(get,post),如果使用浏览器只能发出get请求,不使用浏览器既能发出get的请求又能发出post的请求。- 获取响应数据- 持久化存储爬取搜狗首页的页面数据import requests#step1:指定urlu原创 2021-01-14 09:15:11 · 64 阅读 · 0 评论 -
爬虫代理ip的配置
最近想要学习相应的爬虫项目,但是由于现在网络上大多都有相应的反爬效果,所以需要配置相应的代理ip,这里找到一个对应的可以获取免费ip的github项目,特地介绍一下相应的配置过程首先找到项目对应的github的网址代理ip对应的github网址下载下来之后需要安装相应的环境接下来需要配置相应的redis的对应环境redis对应环境安装安装对应的Redis-x64-3.2.100.zip的相应文件,然后对相应的Redis相应文件进行解压,切换到对应的redis目录之下,然后运行下列的命令redi原创 2021-01-13 18:03:49 · 360 阅读 · 0 评论 -
小白爬虫入门~python爬取职友集招聘职位信息
首先打开职业集网页,选择人气公司招聘排名中的字节跳动公司,点开招聘选项,发现下面有各种各样的招聘信息,此时随着不断地往下点击,如果跳转到评论中的第二页,会发现上面的地址栏发生变化对应的网址改为p2,猜想应该为page2,这个网站应该为静态网站。看source当中有没有相应的内容,如果能够查找到就是静态网站,无法查找到就是动态网站,Network为浏览网页时向服务器发送的请求。爬虫主要就是发送信息和接受信息的过程,模拟浏览器的操作运行相应的程序import requestsurl = 'htt原创 2020-07-22 20:07:09 · 1467 阅读 · 1 评论 -
小白入门爬虫~爬取12306车次信息(静态网站和动态网站的区分)(get动态网页的爬取)
elements,console,source,networkelements分析网络结构,获取想要的数据console打印一些网站的数据,做网站的时候有时候可能会在控制台上打印一些数据source源文件,相等于一个文件夹,不仅包含网络的元素,还包含一些其他的内容,如果是静态数据,在elements当中就可以查看到,如果是动态数据在elements之中无法查看比如说我们在百度之中搜索美女,会出现各种美女图片,此时随着我们下拉的过程,滚动条会越变越小,然后我们搜索网页源代码之中的关键信息点击so原创 2020-07-22 16:12:02 · 1788 阅读 · 0 评论 -
小白零基础入门~爬虫爬取京东评论数据并用excel保存(get动态网页的爬取)
地址栏中写的即为url比如jd.com就不是有效的url有效的url:在京东搜索鞋子,?之前为请求的url,?之后为请求的参数,参数与参数之间使用&&符号来进行连接请求的url:https://search.jd.com/Search?之后为请求的参数,参数之间使用&&符号进行连接选中鞋子的颜色以及样式之后,选择网络点击f5进行刷新查找鞋子之后显示的所有信息都在这里,一共为168个请求信息。静态数据:服务器端已经渲染好的内容,直接发给浏览器,浏览器解释执行原创 2020-07-21 21:15:46 · 1823 阅读 · 1 评论 -
初入爬虫学习之糗事百科爬虫
查看向百度网址发送请求对应的请求头其中Remote Address记录远程百度服务器的主机地址返回的数据为response,在浏览器中的Response中可以查看到相应的内容(返回的内容为html+css+javascript)浏览器的作用:发送请求,接受相应结果并返回页面,get没有请求体,post才有请求体。爬虫使用python语言编写一个应用程序:“替代浏览器发请求,接受响应”关注重要的内容user-agent(1)发送请求:url = 'https://www.baidu.com/原创 2020-07-21 08:22:01 · 169 阅读 · 0 评论