摘要: 自定义low版Scrapy框架: 1 from twisted.internet import reactor #事件循环(终止条件,所有的socket都已经移除) 2 from twisted.web.client import getPage #socket对象(如果下载完成..自动从事件循环中 阅读全文
posted @ 2023-12-08 15:17 木屐呀 阅读(6) 评论(0) 推荐(0) 编辑
摘要: ① getPage 1 1 # socket对象(如果下载完成..自动从事件循环中移除) 2 2 from twisted.web.client import getPage 详解: 1 def getPage(url, contextFactory=None, *args, **kwargs): 阅读全文
posted @ 2023-12-08 15:17 木屐呀 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 自定制命令 1. 在spiders同级创建任意目录,如:commands 2. 在其中创建 crawlall.py 文件 (此处文件名就是自定义的命令) #crawlall.py文件 1 from scrapy.commands import ScrapyCommand 2 from scrapy. 阅读全文
posted @ 2023-12-08 15:17 木屐呀 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 一.下载中间件(DownMiddleware) 三种方法: 1 process_request(self, request, spider) 2 3 process_response(self, request, response, spider) 4 5 process_exception(sel 阅读全文
posted @ 2023-12-08 15:16 木屐呀 阅读(9) 评论(0) 推荐(0) 编辑
摘要: ① 自动限速算法 1 """ 2 17. 自动限速算法 3 from scrapy.contrib.throttle import AutoThrottle 4 自动限速设置 5 1. 获取最小延迟 DOWNLOAD_DELAY 6 2. 获取最大延迟 AUTOTHROTTLE_MAX_DELAY 阅读全文
posted @ 2023-12-08 15:16 木屐呀 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 部分配置文件详解: 1 # -*- coding: utf-8 -*- 2 3 # Scrapy settings for test001 project 4 # 5 # For simplicity, this file contains only settings considered impo 阅读全文
posted @ 2023-12-08 15:14 木屐呀 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 自定义扩展时,利用信号在指定位置注册制定操作 源码剖析: 1 from scrapy.extensions.telnet import TelnetConsole #查看TelnetConsole源码 2 3 # Enable or disable extensions 4 # See https: 阅读全文
posted @ 2023-12-08 15:13 木屐呀 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 格式化处理 在parse方法中直接处理是简单的处理方式,不太建议,如果对于想要获取更多的数据处理,则可以利用Scrapy的items将数据格式化,然后统一交由pipelines来处理 以爬取校花网校花图片相关信息为例: 1 import scrapy 2 from scrapy.selector i 阅读全文
posted @ 2023-12-08 15:13 木屐呀 阅读(3) 评论(0) 推荐(0) 编辑
摘要: scrapy默认使用 scrapy.dupefilter.RFPDupeFilter 进行去重,相关配有: 1 DUPEFILTER_CLASS = 'scrapy.dupefilter.RFPDupeFilter' #一般更改此参数 2 DUPEFILTER_DEBUG = False 3 JOB 阅读全文
posted @ 2023-12-08 15:13 木屐呀 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 自动登录抽屉并点赞 1 # -*- coding: utf-8 -*- 2 import scrapy 3 from scrapy.selector import Selector,HtmlXPathSelector #选择器,标签查找 4 from ..items import ChoutiIte 阅读全文
posted @ 2023-12-08 15:13 木屐呀 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 1 from scrapy.selector import Selector, HtmlXPathSelector 2 from scrapy.http import HtmlResponse 3 html = """<!DOCTYPE html> 4 <html> 5 <head lang="en 阅读全文
posted @ 2023-12-08 15:12 木屐呀 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 阅读全文
posted @ 2023-12-08 15:12 木屐呀 阅读(7) 评论(0) 推荐(0) 编辑
摘要: Python的Web框架中Tornado以异步非阻塞而闻名,本文基于非阻塞的Socket以及IO多路复用从而实现异步非阻塞的Web框架,其中便是众多异步非阻塞Web框架内部原理。 图示: 上面的是异步IO模块:作为客户端发送请求给服务端,实现同时发多个请求的的功能,select监听socket是否有 阅读全文
posted @ 2023-12-08 15:12 木屐呀 阅读(11) 评论(0) 推荐(0) 编辑
摘要: WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。其本质是保持TCP连接,在浏览器和服务端通过Socket进行通信。 Http连接和Webso 阅读全文
posted @ 2023-12-08 15:12 木屐呀 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 模型绑定有两个主要功能: 自动生成html表单 用户输入验证 在之前学习的Django中为程序员提供了非常便捷的模型绑定功能,但是在Tornado中,一切需要自己动手!!! 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=" 阅读全文
posted @ 2023-12-08 15:11 木屐呀 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 一、cookie Tornado中可以对cookie进行操作,并且还可以对cookie进行签名以防止伪造 a、基本操作 1 class MainHandler(tornado.web.RequestHandler): 2 def get(self): 3 if not self.get_cookie 阅读全文
posted @ 2023-12-08 15:11 木屐呀 阅读(80) 评论(0) 推荐(0) 编辑
摘要: Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化。 Tornado 和现 阅读全文
posted @ 2023-12-08 15:11 木屐呀 阅读(69) 评论(0) 推荐(0) 编辑
//增加一段JS脚本,为目录生成使用