- 00. 这里整理了最全的爬虫框架(Java + Python)
有一只柴犬
爬虫系列爬虫javapython
目录1、前言2、什么是网络爬虫3、常见的爬虫框架3.1、java框架3.1.1、WebMagic3.1.2、Jsoup3.1.3、HttpClient3.1.4、Crawler4j3.1.5、HtmlUnit3.1.6、Selenium3.2、Python框架3.2.1、Scrapy3.2.2、BeautifulSoup+Requests3.2.3、Selenium3.2.4、PyQuery3.2
- python爬取微信小程序数据,python爬取小程序数据
2301_81900439
前端
大家好,小编来为大家解答以下问题,python爬取微信小程序数据,python爬取小程序数据,现在让我们一起来看看吧!Python爬虫系列之微信小程序实战基于Scrapy爬虫框架实现对微信小程序数据的爬取首先,你得需要安装抓包工具,这里推荐使用Charles,至于怎么使用后期有时间我会出一个事例最重要的步骤之一就是分析接口,理清楚每一个接口功能,然后连接起来形成接口串思路,再通过Spider的回调
- 如何在电商平台上使用API接口数据优化商品价格
weixin_43841111
api数据挖掘人工智能pythonjava大数据前端爬虫
利用API接口数据来优化电商商品价格是一个涉及数据收集、分析、策略制定以及实时调整价格的过程。这不仅能提高市场竞争力,还能通过精准定价最大化利润。以下是一些关键步骤和策略,用于通过API接口数据优化电商商品价格:1.数据收集竞争对手价格监控:使用API接口(如Scrapy、BeautifulSoup等工具结合Python进行网页数据抓取,或使用专门的API服务如PriceIntelligence、
- Python精选200Tips:121-125
AnFany
Python200+Tipspython开发语言
Spendyourtimeonself-improvement121Requests-简化的HTTP请求处理发送GET请求发送POST请求发送PUT请求发送DELETE请求会话管理处理超时文件上传122BeautifulSoup-网页解析和抓取解析HTML和XML文档查找单个标签查找多个标签使用CSS选择器查找标签提取文本修改文档内容删除标签处理XML文档123Scrapy-强大的网络爬虫框架示例
- 10个高效的Python爬虫框架,你用过几个?
进击的C语言
python
小型爬虫需求,requests库+bs4库就能解决;大型爬虫数据,尤其涉及异步抓取、内容管理及后续扩展等功能时,就需要用到爬虫框架了。下面介绍了10个爬虫框架,大家可以学习使用!1.Scrapyscrapy官网:https://scrapy.org/scrapy中文文档:https://www.osgeo.cn/scrapy/intro/oScrapy是一个为了爬取网站数据,提取结构性数据而编写的
- Windows下安装Scrapy出现的问题及其解决方法
咸甜怪
Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。在安装Scrapy模块时,pipinstallScrapy出现了以下报错:error:MicrosoftVisualC++14.0isrequired.Getitwith"MicrosoftVisualC++BuildTools":http://landinghub.visua
- 基础爬虫 requests selenium aiohttp BeautifulSoup pyQuery Xpath&CssSelector
肯定是疯了
http://47.101.52.166/blog/back/python/%E7%88%AC%E8%99%AB.html请求requestsseleniumaiohttp*处理BeautifulSouppyQueryXpath&CssSelector*存储pymysqlPyMongoredisaiomysql*Scrapy
- Python爬虫实战
weixin_34007879
爬虫jsonjava
引言网络爬虫是抓取互联网信息的利器,成熟的开源爬虫框架主要集中于两种语言Java和Python。主流的开源爬虫框架包括:1.分布式爬虫框架:Nutch2.Java单机爬虫框架:Crawler4j,WebMagic,WebCollector、Heritrix3.python单机爬虫框架:scrapy、pyspiderNutch是专为搜索引擎设计的的分布式开源框架,上手难度高,开发复杂,基本无法满足快
- python爬亚马逊数据_python爬虫----(6. scrapy框架,抓取亚马逊数据)
weixin_39628342
python爬亚马逊数据
利用xpath()分析抓取数据还是比较简单的,只是网址的跳转和递归等比较麻烦。耽误了好久,还是豆瓣好呀,URL那么的规范。唉,亚马逊URL乱七八糟的....可能对url理解还不够.amazon├──amazon│├──__init__.py│├──__init__.pyc│├──items.py│├──items.pyc│├──msic││├──__init__.py││└──pad_urls.p
- 2024年Python最新Python爬虫教程-新浪微博分布式爬虫分享(2)
2401_84584682
程序员python爬虫新浪微博
开发语言:Python2.7开发环境:64位Windows8系统,4G内存,i7-3612QM处理器。数据库:MongoDB3.2.0、Redis3.0.501(Python编辑器:Pycharm;MongoDB管理工具:MongoBooster;Redis管理工具:RedisStudio)爬虫框架使用Scrapy,使用scrapy_redis和Redis实现分布式。分布式中有一台机充当Maste
- python分布式集群ray_GitHub - Leesire-Python/jd_spider: 两只蠢萌京东的分布式爬虫.
weixin_39781930
python分布式集群ray
使用scrapy,scrapy-redis,graphite实现的京东分布式爬虫,以mongodb实现底层存储。分布式实现,解决带宽和性能的瓶颈,提高爬取的效率。实现scrapy-redis对进行url的去重以及调度,利用redis的高效和易于扩展能够轻松实现高效率下载:当redis存储或者访问速度遇到瓶颈时,可以通过增大redis集群数和爬虫集群数量改善版本支持现在支持Py2和Py3,但是需要注
- spiderkeeper 部署&操作
VictorChi
前言最近发现了一个spdierkeeper的库,这个库的主要用途是在于.配合这scrpyd管理你的爬虫,支持一键式部署,定时采集任务,启动,暂停等一系列的操作.简单来说将scrapyd的api进行封装,最大限度减少你跟命令行交互次数.不得说这个是很棒的事情.https://github.com/DormyMo/SpiderKeeperSpiderKeeper的github连接环境配置由于scrap
- 爬虫进阶之人见人爱的Scrapy框架--Scrapy入门
我真的超级好
不要重复造轮子,这是学习Python以来听得最多的一句话,无非就是叫我们要灵活运用现有的库,毕竟Python的一大特点就是拥有功能强大强大而种类丰富的库。那么在爬虫领域要灵活使用哪个轮子呢?--当然是目前最火的爬虫框架Scrapy。笔者通过慕课网免费课程《Python最火爬虫框架Scrapy入门与实践》+书籍《精通Scrapy网络爬虫》+度娘+CSDN完成自学,其中遇到诸多困难(要么太深入没看懂,
- 苹果笔记本macbook pro如何安装python_Mac OS系统下的安装
weixin_39884074
苹果笔记本macbookpro如何安装python
如果你使用的是苹果电脑,可能希望在MacOS系统下使用Scrapy,那么如何在MacOS下安装Scrapy呢?由于Python3已经是发展趋势,所以我们使用的Python版本是Python3。MacOS自带2.X版本的Python,我们可以打开终端,输入python–V命令进行查看,如下所示。itcastdeMacBook-Pro:~itcast$python-VPython2.7.10可以看到,
- Scrapy框架架构---学习笔记
怪猫訷
python
Scrapy框架架构Scrapy框架介绍:写一个爬虫,需要做很多的事情。比如:发送网络请求、数据解析、数据存储、反反爬虫机制(更换ip代理、设置请求头等)、异步请求等。这些工作如果每次都要自己从零开始写的话,比较浪费时间。因此Scrapy把一些基础的东西封装好了,在他上面写爬虫可以变的更加的高效(爬取效率和开发效率)。因此真正在公司里,一些上了量的爬虫,都是使用Scrapy框架来解决。Scrapy
- Scrapy ---心得
auo8191
爬虫python数据库
scrapy框架基础-框架:具有很多功能,且具有很强通用性的项目模板-环境安装:#环境准备linux系统pip3installscrapywindows系统1pip3installwheel2下载Twisted-19.2.0-cp36-cp36m-win-amd64.whl3进入下载目录,执行pip3installTwisted‑19.2.0‑cp36‑cp36m‑win_amd64.whl4pi
- Scrapy添加代理IP池:自动化爬虫的秘密武器
天启代理ip
scrapytcp/ip自动化
在网络爬虫的世界里,IP地址的频繁更换是防止被目标网站封禁的有效手段。通过在Scrapy中添加代理IP池,你可以轻松实现自动化的IP切换,提高数据抓取的效率和稳定性。今天,我们就来详细讲解一下如何在Scrapy中添加代理IP池,让你的爬虫更加智能和高效。什么是代理IP池?代理IP池是指一组可以轮换使用的代理IP地址集合。通过在爬虫中使用代理IP池,你可以在每次请求时随机选择一个代理IP,从而避免因
- ADB投屏_最强开源投屏神器,跨平台电脑控制+文件传输——scrcpy
weixin_39777637
ADB投屏
介绍scrcpy是一个开源的跨平台投屏神器,支持Linux、Windows以及MacOS(本文介绍的scrapy不是Python下的那个爬虫框架),scrcpy在Github上非常的受欢迎,Stars数高达34k+,能达到这个量级的都是非常受欢迎的项目。scrcpy可通过数据线(或通过TCP/IP——wifi)显示和控制连接的Android设备,它不需要任何root访问权限!Github开源地址h
- Python爬虫系列总结
qformat
python爬虫开发语言
Python爬虫系列总结包含(Scrapy框架介绍)文章目录Python爬虫系列总结包含(Scrapy框架介绍)一、前言二、Python爬虫的基础三、Python爬虫进阶四、简易爬虫总结五、Python爬虫框架六、爬虫部署一、前言随着WEB2.0时代的到来,网络已经成为了人们获取信息的重要途径,而爬虫技术可以让我们从海量的网络数据中快速地获取我们想要的信息。Python是一种简单易学、功能强大的编
- scrapy学习笔记0827
github_czy
scrapy学习笔记
1.总之先启动先安装scrapy,pipinstallscrapy创建scrapy项目,生成的项目结构应该如图所示,scrapystartprojectexample选择需要爬取的页面并分析,这里选定的页面是Allproducts|BookstoScrape-Sandbox一个供给爬虫学者练手的网站,我们需要爬取上面的书籍信息,解析我们需要的内容在那一段html标签里可以使用浏览器自带的开发者工具
- scrapy中pipeline获取settings参数的方法
极客探索者
Pythonpython爬虫网络爬虫
1、在scrapy的pipeline中,获取settings参数,可使用如下方式:defopen_spider(self,spider):settings=spider.settingsweb_dir_dict=settings.get('WEB_DIR_DICT',{})也可以采用如下方式:fromscrapy.utils.projectimportget_project_settings###
- scrapy学习笔记0828-下
github_czy
scrapy学习笔记
1.爬取动态页面我们遇见的大多数网站不大可能会是单纯的静态网站,实际中更常见的是JavaScript通过HTTP请求跟网站动态交互获取数据(AJAX),然后使用数据更新HTML页面。爬取此类动态网页需要先执行页面中的JavaScript代码渲染页面,再进行爬取。在这里我们采用scrapy官方推荐的Splash渲染引擎,我们需要通过docker来安装splash并使其运行起来,这里就暂时不展开,安装
- 探索TV-Crawler:一款强大的电视节目爬虫框架
孔旭澜Renata
探索TV-Crawler:一款强大的电视节目爬虫框架项目简介是一个由Python编写的开源项目,其目标是抓取各大电视台的节目信息并进行整理。对于那些热衷于规划观影时间或想要了解最新电视节目内容的人来说,这是一个非常实用的工具。开发者可以通过此项目轻松获取电视节目的播出时间、频道和标题等数据。技术分析1.Python与ScrapyTV-Crawler基于Python的强大网络爬虫框架Scrapy构建
- Scrapy入门学习
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑
Pythonscrapy学习python开发语言笔记
文章目录Scrapy一.Scrapy简介二.Scrapy的安装1.进入项目所在目录2.安装软件包Scrapy3.验证是否安装成功三.Scrapy的基础使用1.创建项目2.在tutorial/spiders目录下创建保存爬虫代码的项目文件3.运行爬虫4.利用css选择器+ScrapyShell提取数据例如:Scrapy一.Scrapy简介Scrapy是一个用于抓取网站和提取结构化数据的应用程序框架,
- scrapy爬取知乎的中添加代理ip
虔诚XY
爬虫
都是伪代码,不要直接复制,进攻参考ip都不可以使用,只是我自己写的格式。zhihu.pyproxy_pool=[{'HTTP':'182.253.112.43:8080'}]defstart_requests(self):proxy_addr=random.choice(proxy_pool)yieldRequest('.........,meta={'proxy':proxy_addr})set
- python用scrapy爬虫豆瓣_python爬虫框架scrapy 豆瓣实战
weixin_39745724
Scrapy官方介绍是Anopensourceandcollaborativeframeworkforextractingthedatayouneedfromwebsites.Inafast,simple,yetextensibleway.意思就是一个开源和协作框架,用于以快速,简单,可扩展的方式从网站中提取所需的数据。环境准备本文项目使用环境及工具如下python3scrapymongodbpy
- scrapy框架--快速了解
金灰
#爬虫scrapy网络大数据
免责声明:本文仅做分享~目录介绍:5大核心组件:安装scrapy:创建到启动:修改日志配置:settings.py修改君子协议配置:伪装浏览器头:让代码去终端执行:数据保存:1-基于命令2-基于管道文档:介绍:5大核心组件:Scrapy是一个开源的Python框架,用于抓取网站数据并进行数据处理。Scrapy是一个快速、高效的框架,可以用来构建快速、可扩展的爬虫。Scrapy框架的主要组件包括:1
- 7个必须掌握的Python爬虫框架
需要什么私信我
python
Python已经成为了最受欢迎的编程语言之一,并且在爬虫方面也有了广泛的应用。如果你想成为一名优秀的爬虫开发者,那么你必须熟练掌握一些Python爬虫框架。本文将介绍7个必须掌握的Python爬虫框架,它们都是目前比较热门的框架。Scrapy:Scrapy是一个Python编写的高级爬虫框架,可以用于爬取各种网站的数据。它具有高度的可扩展性和灵活性,还有强大的数据处理和存储功能。Beautiful
- Python 爬虫框架
BugLovers
python
Python中有许多强大且主流的爬虫框架,这些框架提供了更高级的功能,使得开发和维护爬虫变得更加容易。以下是一些常用的爬虫框架:1.Scrapy-简介:Scrapy是Python最流行的爬虫框架之一,设计用于快速、高效地从网站中提取数据。它支持各种功能,如处理请求、解析HTML、处理分页、去重、以及保存数据等。-特点:-支持多线程,性能高效。-内置支持XPath、CSS选择器。-具有丰富的扩展插件
- 如何让python爬虫的数据可视化?
喝汽水么
信息可视化python开发语言学习计算机网络
Python爬虫数据可视化是一个涉及多个步骤的过程,主要包括数据抓取、数据处理、以及使用可视化库进行数据展示。以下是一个基本的流程介绍和示例,帮助你理解如何使用Python实现这一过程。第一步:数据抓取首先,你需要使用Python的爬虫库(如requests和BeautifulSoup,或者更高级的Scrapy)来抓取网页数据。这里以requests和BeautifulSoup为例:importr
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include