爬虫
Cowry5
这个作者很懒,什么都没留下…
展开
-
Python爬虫实战02:分析Ajax请求并抓取今日头条街拍
1 目标网站分析首先我们打开今日头条网站,搜索 街拍,点击图集,这里每就是我们要爬取的目录,我们称为索引页。1 点开一个标题,进去,称为详情页。2这里面的图是我们所要爬取的。比如这里可以点击图片,共7张图。2 这里我们可以想到,可以先把详情页的每个标题URL爬取下来,再请求详情页得到每个图集。分析详情页代码,打开谷歌浏览器开发工具,选择Network,刷新网页。发现第一个请求中...原创 2018-03-29 21:52:28 · 1867 阅读 · 0 评论 -
Scrapy爬取知乎用户信息
1 爬取逻辑先选取一个用户,爬取他的粉丝列表和关注列表.然后对每个粉丝进行分析,找出他们的粉丝列表和关注列表,以此往复,递归下去,就可以爬取大部分的用户信息了.通过一个树形的结构,蔓延到所有的用户. 这里我们选取轮子哥来作为我们的起始点:). 下图的就是关注列表和粉丝列表的请求,返回的是一个json类型的结果. 然后我们注意到第一个关注的人的信息中有这么一个url_toke...原创 2018-04-05 15:42:11 · 909 阅读 · 3 评论 -
Python爬虫实战01:Requests+正则表达式爬取猫眼电影
1 目标站点的分析2 流程框架抓取单页内容利用requests请求目标站点,得到单个网页HTML代码,返回结果。正则表达式分析根据HTML代码分析得到电影的名称、主演、上映、时间、评分、图片链接等信息。保存至文件通过文件的形式将结果保存,每一部电影一个结果一行Json字符串。开启多循环及多线程对多页内容遍历,开启多线程提高抓取速度。3 爬虫实战3.1...原创 2018-03-29 00:25:50 · 1383 阅读 · 0 评论 -
Python3爬虫入门之selenium库的用法
Selenium基本使用from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support import expected_condition...原创 2018-03-28 18:50:10 · 2060 阅读 · 0 评论 -
Python3爬虫入门之pyquery库的使用
pyquery初始化字符串初始化html = '''<div> <ul> <li class="item-0">first item</li> <li class="item-1"><a href="link2.html"&am原创 2018-03-28 16:48:01 · 473 阅读 · 0 评论 -
Python3爬虫入门之beautifulsoup库的使用
强调内容BeautifulSoup灵活又方便的网页解析库,处理高效,支持多种解析器。利用它不用编写正则表达式即可方便地实现网页信息的提取。解析库 解析器 使用方法 优势 劣势 Python标准库 BeautifulSoup(markup, “html.parser”) Python的内置标准库、执行速度适中 、文档容错能力强 Pytho...原创 2018-03-28 00:09:38 · 561 阅读 · 0 评论 -
Python3爬虫入门之正则表达式的使用
正则表达式常见匹配模式 模式 描述 \w 匹配字母数字及下划线 \W 匹配非字母数字下划线 \s 匹配任意空白字符,等价于 [\t\n\r\f]. \S 匹配任意非空字符 \d 匹配任意数字,等价于 [0-9] \D 匹配任意非数字 \A 匹配字符串开始 \Z 匹配字符串结束,...原创 2018-03-27 00:45:19 · 504 阅读 · 0 评论 -
Python3爬虫入门之Request库的使用
requests什么是RequestsRequests 是⽤Python语⾔编写,基于 urllib,采⽤Apache2 Licensed开源协议的HTTP库。它⽐urllib更加⽅便,可以节约我们⼤量的⼯作,完全满⾜HTTP 测试需求。⼀句话–Python实现的简单易⽤的HTTP库.实例引入import requestsresponse = request...原创 2018-03-26 22:13:46 · 919 阅读 · 0 评论 -
Python3爬虫入门之Urllib库的用法
urllib库的用法urlopenurllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,cadefault=False,context=None)import urllib.request# GET类型的请求,无需data参数response = urllib.request.urlopen('http:...原创 2018-03-26 12:24:21 · 373 阅读 · 0 评论 -
Python爬虫入门之使用Redis+Flask维护动态代理池
代理池的要求多站抓取, 异步检测定时筛选, 持续更新提供接口, 易于提取代理池架构代码代码放到github上了,稍微修改了一点,可以正常运行了.有问题评论留言讨论. 分为两种ProxyPoolPop和ProxyPoolPro. 第一种是用完ip就扔掉,第二种反复利用.地址如下:ProxyPoolPopProxyPoolPro...原创 2018-03-31 18:20:09 · 1017 阅读 · 2 评论 -
Python爬虫实战03:用Selenium模拟浏览器爬取淘宝美食
1 目标站点分析淘宝页面信息很复杂的,含有各种请求参数和加密参数,如果直接请求或者分析Ajax请求的话会很繁琐。所以我们可以用Selenium来驱动浏览器模拟点击来爬取淘宝的信息。这样我们只要关系操作,不用关心后台发生了怎样的请求。这样有个好处是:可以直接获取网页渲染后的源代码。输出 page_source 属性即可。这样,我们就可以做到网页的动态爬取了。缺点是速度相比之下比较慢。...原创 2018-03-30 20:31:21 · 861 阅读 · 0 评论 -
Python爬虫基本原理
爬虫基本原理1. 什么是爬虫请求网站并提取数据的自动化程序。2. 爬虫基本流程发起请求通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。获取响应如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML,Json字符串,二进制数据(如图片视频...原创 2018-03-24 15:56:37 · 725 阅读 · 0 评论 -
Scrapy分布式原理及Scrapy-Redis源码解析(待完善)
1 Scrapy分布式原理2 队列用什么维护首先想到的可能是一些特定数据结构, 数据库, 文件等等.这里推荐使用Redis队列.3 怎样来去重保证Request队列每个request都是唯一的.集合中每个元素是不重复的4 怎样防止中断5 怎样实现该架构Scrapy-Redis库已经完整实现了该架构.源代码地址:...原创 2018-04-07 00:13:25 · 2483 阅读 · 0 评论