
网络爬虫总结
文章平均质量分 67
网络和爬虫相关知识总结
数据知道
IT技术博主,博主会持续更新专栏文章,欢迎关注和订阅文章博客,欢迎私信和博主交流技术,欢迎关注公众号:数据知道的成长之路。如有需要请站内私信或者联系VX名片(ID:data_know)
展开
-
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,有人将跨站脚本攻击缩写为XSS。XSS(Cross Site Scripting)跨站脚本攻击,是一种网站应用程序的安全漏洞攻击。XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。...原创 2022-08-29 12:44:07 · 44866 阅读 · 0 评论 -
一文详细理解计算机网络体系结构(考试和面试必备)
计算机网络第八版(谢希仁)书中定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)原创 2022-09-10 17:53:20 · 31792 阅读 · 0 评论 -
一文详细理解计算机网络 - 物理层(考试和面试必备)
公式中:W为信号的带宽,S为信道所传输信号的平均速率,N为信道内部的高斯噪声速率;:也称为包交换网络,原理是将数据分成较短的固定长度的数据块,在每个数据块中加上目的地址,源地址等辅助信息组成分组(包),以。,它指出在理想低通(没有噪声,带宽有限)的信道中,极限码元传输速率为2W波特(其中W是理想低通信道的带宽,单位为Hz)。比如,在使用二进制编码时,只有两种不同的码元:一种代表0状态,一种代表1状态。具有较强的穿透能力,可以传输很长的距离,被广泛应用于通信领域,如无线手机通信、计算机网络中的无线局域网等。原创 2022-09-11 17:29:11 · 29298 阅读 · 0 评论 -
一文详细理解计算机网络 - 数据链路层(考试和面试必备)
数据链路层(Data Link Layer)是计算机体系结构中的其中一层,在数据链路层中使用的信道可以分为两种:(1)点对点信道:一对一的通信方式(2)广播信道:一对多的通信方式从整个互联网来看,局域网属于数据链路层的范围,因此,在数据链路层中探讨的问题主要以局域网作为研究对象。对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。原创 2022-10-18 22:25:23 · 28298 阅读 · 0 评论 -
脱壳工具:BlackDex的使用详解
BlackDex可以当做备用的脱壳工具,如果想在未root的设备上脱壳,那么BlackDex是首选工具。原创 2022-09-04 19:36:51 · 38392 阅读 · 0 评论 -
脱壳工具:反射大师的使用详解
反射大师简单容易使用,能脱掉大多数壳,很值得使用原创 2022-09-04 20:29:46 · 39761 阅读 · 0 评论 -
脱壳工具:Youpk的使用详解
Youpk可以处理大部分的加固,一些企业版的加固也能处理,脱壳效果非常好。原创 2022-09-04 21:11:45 · 31098 阅读 · 0 评论 -
脱壳工具:ZjDroid的使用详解
基于Xposed Framewrok的动态逆向分析模块,可以完美解决二代加固。原创 2022-09-04 21:41:53 · 29521 阅读 · 0 评论 -
脱壳工具:frida-dexdump的使用详解
基于frida开发的脱壳工具,代码开源且操作简单。在内存中转存dex文件,能脱大部分的壳。原创 2022-09-04 22:00:26 · 35322 阅读 · 0 评论 -
脱壳工具:dumpDex的使用详解
一个开源的 Android 脱壳插件工具,需要xposed支持。可以用来脱掉当前市场上大部分的壳。原创 2022-09-04 22:22:17 · 32392 阅读 · 0 评论 -
mac环境下搭建frida环境并连接网易mumu模拟器
frida是基于Hook的动态分析工具。是一款基于 python+javascript 的 hook 框架,核心是用C编写的,可运行在 android、ios、linux、win等各个平台,主要使用的动态二进制插桩技术。官网:文档:安卓相关文件:关于frda学习路线了,只需要了解两方面的内容:1)主控端和目标进程的交互(message)2)Python接口和js接口(查文档)frida框架分为两部分:1)一部分是运行在系统上的交互工具frida CLI。原创 2022-09-05 22:13:29 · 32224 阅读 · 0 评论 -
有名的爬虫框架 colly 的特性及2个详细采集案例
前言:colly 是 Go 实现的比较有名的一款爬虫框架,而且 Go 在高并发和分布式场景的优势也正是爬虫技术所需要的。它的主要特点是轻量、快速,设计非常优雅,并且分布式的支持也非常简单,易于扩展。框架简介:基于colly框架及net/http进行封装,实现的一款可配置分布式爬虫架构。使用者只需要配置解析、并发数、入库topic、请求方式、请求url等参数即可,其他代码类似于scrapy,不需要单独编写。github地址:colly特性干净的API快速(单核>1k请求/秒)原创 2024-03-25 10:32:02 · 13353 阅读 · 0 评论 -
5个鲜有人知的爬虫技巧
几点鲜有人知的爬虫技巧。原创 2023-09-13 13:03:54 · 16223 阅读 · 0 评论 -
appium概述,环境搭建及python3环境下案例
一. 介绍官网:http://appium.io/介绍:http://appium.io/docs/cn/about-appium/intro/官方github: https://github.com/appium/appiumAppium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UI原创 2021-08-10 17:05:57 · 31907 阅读 · 0 评论 -
scrapy源码9 - webclient
webclient.py 这个文件从名字上看出来应该是定义一个web 客户端的类。from time import time导入时间from six.moves.urllib.parse import urlparse, urlunparse, urldefrag导入urlparse,urlunparse,urldefragfrom twisted.web.client import HTTPClientFactory导入HTTPClientFactoryfrom twisted.web原创 2021-01-31 23:50:30 · 31135 阅读 · 0 评论 -
scrapy源码9 - tls
tls.py 这个文件看起来挺简单的。import loggingfrom OpenSSL import SSLfrom scrapy import twisted_versionlogger = logging.getLogger(__name__)这里就是导入logging,ssl,twisted_version 包。全局日志loggerMETHOD_SSLv3 = 'SSLv3'METHOD_TLS = 'TLS'METHOD_TLSv10 = 'TLSv1.0'ME原创 2021-01-31 15:41:47 · 31412 阅读 · 1 评论 -
用requests+tkinter实现小型翻译器
代码如下:# -*- coding: utf-8 -*-import requestsfrom requests.exceptions import RequestExceptionimport tkinter as tk# 定义翻译函数def translate(): str1 = text1.get() # 定义一个变量,用来接收输入文本框的值 data = { 'doctype': 'json', 'type': 'AUTO',原创 2020-11-30 20:43:06 · 31182 阅读 · 0 评论 -
scrapy源码9 - downloadermiddleware
下载中间件import six导入six兼容包from twisted.internet import defer导入deferfrom scrapy.http import Request, Response导入请求和响应from scrapy.middleware import MiddlewareManagerfrom scrapy.utils.defer import mustbe_deferred导入中间件管理 和mustbe_defferredfrom scrapy.uti原创 2020-11-30 14:03:58 · 31056 阅读 · 0 评论 -
用python爬取阳光电影的链接
用python爬取阳光电影的链接,并存入文本。把链接直接复制到迅雷软件即可下载电影,方便快捷。python代码如下:# -*- encoding: utf-8 -*-"""@Author: cuiyonghua@CreateDate: 2020/10/15 3:44 下午@Description: """import requestsimport refor page in range(1, 223): url = 'http://www.ygdy8.net/html/gndy原创 2020-10-20 17:59:21 · 32321 阅读 · 1 评论 -
scrapy源码8 - contextfactory
contextfactory.py 这个文件,相对文件内容不多。from OpenSSL import SSLfrom twisted.internet.ssl import ClientContextFactoryfrom scrapy import twisted_version这3句代码, 导入ssl,导入ClientContextFactory ,导入twisted_version我们看看这个version是啥内容twisted_version = (_txv.major, _t原创 2020-10-13 20:10:01 · 31166 阅读 · 0 评论 -
scrapy源码7:downloader的源码分析
这里我们看看scrapy.core.downloader 这个吧。from __future__ import absolute_import# 在python2.5,你可以打开 import的行为直接去绝对导入使用一个 from __future__ import absolute_import 。这个绝对导入行为将成为一个默认的细节在将来的python中。一旦绝对导入被默认,import string 将总是寻找基本库。# 建议用户尽可能多的使用绝对导入,因此在你的代码中使用from pkg im原创 2020-09-01 10:03:16 · 32303 阅读 · 0 评论 -
scrapy源码6:deffer和parallel的源码分析
deferscrapy的核心的代码大量用到deffer对象,还有一些并行的东西。 这里简单去学习下deffer和并行的方法知识 。twisted.interet.defer 这个官方的api就是下面的网址了。http://twistedmatrix.com/documents/current/api/twisted.internet.defer.html我们可以看到这个defer是twisted提供的internet方法的包twisted先了解下twisted是个什么。Twisted: The原创 2020-08-31 19:24:35 · 32437 阅读 · 0 评论 -
scrapy源码5:middleware的源码分析
这个文件是中间件的基类了。from collections import defaultdictimport loggingimport pprint# 这几个都是引用默认字典, 日志, 打印的,没啥问题。 from scrapy.exceptions import NotConfiguredfrom scrapy.utils.misc import load_object# 导入了notconfigure没有配置的异常, 导入了load_object去完成字符串到对应类对象的方法。前面原创 2020-08-31 13:03:33 · 32122 阅读 · 0 评论 -
scrapy源码4:spidermw的源码分析
import sixfrom twisted.python.failure import Failure# 导入six包和导入failurefrom scrapy.middleware import MiddlewareManager# 这里导入了一个中间件管理的基类,应该适用于后续的继承的吧。 from scrapy.utils.defer import mustbe_deferredfrom scrapy.utils.conf import build_component_list#.原创 2020-08-31 12:45:19 · 32228 阅读 · 0 评论 -
scrapy源码3:scraper的源码分析
我们看看scraper.py文件吧。从注释中我们可以看出这个scraper模块是实现爬虫组件去解析响应流并且提取数据的。import loggingfrom collections import deque# 这2个就是日志的deque队列的导入。from twisted.python.failure import Failurefrom twisted.internet import defer# 这2句,导入了一个Failure和一个defer延迟。from scrapy.util原创 2020-08-31 09:50:04 · 32554 阅读 · 0 评论 -
scrapy源码2:scheduler的源码分析
一. scheduler核心Scheduler主要负责scrapy请求队列的管理,即进队与出队。进一步来说,会涉及到队列的选择,队列去重,序列化。from_crawler(cls, crawler): settings = crawler.settings dupefilter_cls = load_object(settings['DUPEFILTER_CLASS']) dupefilter = dupefilter_cls.from_settings(原创 2020-07-02 20:54:33 · 34931 阅读 · 0 评论 -
scrapy源码1:engine的源码分析
scrapy中engine.py的源码分析如下:"""engine.py提供了2个类:Slot和ExecutionEngine Slot: 提供了几个方法添加请求,删除请求,关闭自己,触发关闭方法 它使用Twisted的主循环reactor来不断的调度执行Engine的"_next_request"方法,这个方法也是核心循环方法。 ExecutionEngine: 引擎的执行任务爬虫引擎是控制调度器,下载器和爬虫的。This is the Scrapy eng原创 2020-06-30 13:02:17 · 45379 阅读 · 0 评论 -
pyppeteer的环境搭建,常见参数及2个案例
一. pyppeteer介绍Puppeteer是谷歌出品的一款基于Node.js开发的一款工具,主要是用来操纵Chrome浏览器的 API,通过Javascript代码来操纵Chrome浏览器,完成数据爬取、Web程序自动测试等任务。Puppeteer 默认以 headless 模式运行,但是可以通过修改配置文件运行“有头”模式。Pyppeteer的两大特点,chromium浏览器和asyncio框架:Chromium是一款独立的浏览器,是Google为发展自家的浏览器Google Chrome而原创 2020-06-28 19:10:46 · 47421 阅读 · 1 评论 -
基于Base64编码的反爬虫
1. Base64的用法# base64的用法import base64encodestr = base64.b64encode('abcr34r344r'.encode('utf-8'))print(encodestr) # b'YWJjcjM0cjM0NHI='encodestr = base64.b64encode('abcr34r344r'.encode('utf-8'))...原创 2020-03-29 23:36:33 · 34641 阅读 · 0 评论 -
反爬:请求参数中的mcode是按时间戳通过base64加密得来的
代码如下:# coding=utf-8"""1.在债券信息中找到债券代码:http://bond.sse.com.cn/disclosure/info/creditabs/2.搜索:http://webapi.cninfo.com.cn/#/thematicStatistics?location=b11 进入债券报表,选择债券基本信息查询,再按债券查询遇到的问题:请求参数中的mc...原创 2020-02-29 19:58:44 · 34723 阅读 · 0 评论 -
反爬:请求头中加X-Requested-With,才能请求到数据
请求头中加X-Requested-With,才能请求到数据如网站:http://view.jfinfo.com/research/ydjcimport reimport requestsfrom lxml import etree"""网站:http://view.jfinfo.com/research/ydjc请求头中加X-Requested-With,才能请求到数据"""h...原创 2020-02-29 19:56:03 · 36064 阅读 · 0 评论 -
反爬:请求头中需要加上Referer,才能访问到网页返回的数据
请求头中需要加上Referer,才能访问到网页返回的数据:如网站:http://stock.cnstock.com/xt,代码如下:import requestsimport reimport timeimport jsonfrom lxml import etree"""网站:http://stock.cnstock.com/xt请求头中需要加上Referer才能访问到数据...原创 2020-02-29 19:52:19 · 36337 阅读 · 0 评论 -
写爬虫遇到的各类较难的xpath汇总
1. 如网站:http://www.afinance.cn/new/yzcj/List_19.html,提取时间的xpath如下://div[@class="nrbf"]/font[@class!="a"]/text()[1]提取到的截图如下:原创 2020-02-13 10:29:57 · 34281 阅读 · 1 评论 -
java常用的爬虫框架
目前主流的Java爬虫框架主要有Nutch、Crawler4j、WebMagic、WebCollector等。1. 分布式爬虫:Nutchgithub地址:https://github.com/andrewcao95/nutch-crawlerNutch是apache旗下的一个用Java实现的开源索引引擎项目,通过nutch,诞生了hadoop、tika、gora。Nutch的设计初衷主要是...原创 2019-12-31 18:51:26 · 48405 阅读 · 1 评论 -
常见反爬虫策略 及应对措施
一般网站从三个方面反爬虫:请求网站访问时的请求头Headers,用户行为,目标网站的目录和数据加载方式。前两个方面反爬虫策略中最为常见的,而第三个则是应用ajax(异步加载)的方式加载页面目录或者内容,增大爬虫在对目标网站形成访问之后获取数据的难度。但是仅仅检验一下请求头或者做几个ip限制显然无法达到网站运营者对anti-spam的要求,所以更进一步的反制措施也不少。最主要的大概有:Cookie...原创 2019-12-31 18:35:03 · 40564 阅读 · 0 评论 -
在爬虫框架scrapy中使用selenium
1. wangyi.pyimport scrapyfrom selenium import webdriver'''在scrapy中使用selenium的编码流程: 1.在spider的构造方法中创建一个浏览器对象(作为当前spider的一个属性) 2.重写spider的一个方法closed(self,spider),在该方法中执行浏览器关闭的操作 3.在下载中...原创 2019-12-27 20:29:35 · 34422 阅读 · 0 评论 -
selenium的介绍,win10系统配置selenium,并用python爬取网页的案例
1. selenium的介绍Selenium 是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬。对于一些 JavaScript 动态渲染的页面来说,此种抓取方式非常有效。2. 准备工作首先需要安装 Chrome浏览器,然后到 https://chromedriver.storage.googleapi...原创 2019-12-25 16:03:15 · 34012 阅读 · 0 评论 -
采集网站图片并把图片存到本地
爬取百度图片并把图片存到本地:用到的模块:rerequestsurllibbs4osimport reimport requestsfrom urllib import errorfrom bs4 import BeautifulSoupimport osnum = 0numPicture = 0file = ''List = []def Find(url...原创 2019-11-09 13:34:20 · 20839 阅读 · 6 评论 -
爬虫基本流程总结
爬虫基本流程总结如下:原创 2019-08-06 10:04:01 · 34369 阅读 · 0 评论