- 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
- 如何在电商平台上使用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-强大的网络爬虫框架示例
- 拼多多商家电话采集工具 爬虫教程分享
小电商达人
爬虫
以下是使用Python编写的拼多多商家电话采集爬虫教程:一、前期准备安装Python:从Python官方网站下载并安装最新版本的Python,安装过程中注意勾选将Python添加到系统路径选项。安装相关库:在命令提示符中运行以下命令来安装所需的库。pipinstallrequests:用于发送HTTP请求获取网页内容。pipinstallbeautifulsoup4:用于解析HTML页面。二、分析
- 晓思的ScalersTalk第六轮《新概念》朗读持续力训练Day08—20210105
XS_XS
【练习材料】(喜马拉雅新概念英音第二册)☞原文Lesson8ThebestandtheworstJoeSandershasthemostbeautifulgardeninourtown.Nearlyeverybodyentersfor'TheNicestGardenCompetition'eachyear,butJoewinseverytime.BillFrith'sgardenislargert
- Python——爬虫
星和月
python
当编写一个Python爬虫时,你可以使用BeautifulSoup库来解析网页内容,使用requests库来获取网页的HTML代码。下面是一个简单的示例,演示了如何获取并解析网页内容:importrequestsfrombs4importBeautifulSoup#发送HTTP请求获取网页内容url='https://www.example.com'#要爬取的网页的URLresponse=requ
- Python 爬虫基础教程——BeautifulSoup抓取入门(2)
那个百分十先生
大家好,上篇推文介绍了BeautifulSoup抓取的一些基础用法,本篇内容主要是介绍BeautifulSoup模块的文档树使用以及实例。一、遍历文档树直接看代码吧frombs4importBeautifulSouphtml='python知识学堂Python知识学堂欢迎您'#上面是随便写的一个页面代码soup=BeautifulSoup(html,'lxml')#print(soup.prett
- BeautifulSoup 和 Xpath 的性能比较
木语沉心
一些说明:其实这篇文章并不是为了比较出结论,因为结论是显而易见的.性能比较Xpath必然是要比BeautifulSoup在时间和空间上都要性能更好一些。其中理由有很多,其中一个很明显的是BeautifulSoup在构建一个对象的时候需要传入一个参数以指定解析器,而在它支持的众多的解析器中,lxml是性能最佳的,那么BeautifulSoup对象的各种方法可以理解为是对lxml的封装,换句话说,Be
- Python 抓取图片
weixin_30477797
python
#coding:utf-8frombs4importBeautifulSoupimportrequestsimporturllibuser_agent='Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/63.0.3239.132Safari/537.36'headers={'User-Agen
- Explore-Flutter-FireStore: 使用Flutter结合Firebase Firestore的实战指南
戴洵珠Gerald
Explore-Flutter-FireStore:使用Flutter结合FirebaseFirestore的实战指南Explore-Flutter-FireStoreThisisaFlutterAppwithFirebase'sCloudFireStoreDatabaseandGoogleMap.ThisapprepresentsthatBeautifulUIcanbeimplementedwi
- 2022-2023学年英语周报高考新高考第3期答案及试题
macbooks
LookatthemapofSpainandpointatthecenter进入查看:2022-2023学年英语周报高考新高考第3期答案及试题以下内容仅作展示,图片上方文字进入查看。LookatthemapofSpainandpointatthecenter.You'velocatedthecountry'scapitalandoneofEurope'smostbeautifulcities:Ma
- Python爬虫入门实战:抓取CSDN博客文章
A Bug's Code Journey
爬虫python
一、前言在大数据时代,网络上充斥着海量的信息,而爬虫技术就是解锁这些信息宝库的钥匙。Python,以其简洁易读的语法和强大的库支持,成为编写爬虫的首选语言。本篇博客将从零开始,带你一步步构建一个简单的Python爬虫,抓取CSDN博客的文章标题和链接。二、环境准备在开始之前,确保你的环境中安装了Python和以下必要的库:1.requests:用于发送HTTP请求2.BeautifulSoup:用
- 贴贴14 -只有有氧运动才有益健康吗?
田小尘
你我相遇在美好的春天ABEAUTIFULSPRING有氧和无氧运动的区分基于运动中能量来源的差别,前者主要依靠三羧酸循环,后者主要依靠磷酸原系统和糖酵解。在日常生活中,我们每天都在进行步行这样的有氧运动,同时,也离不开爬楼梯这样的无氧运动。无氧运动的独特价值在于其可以更有效地促进肌肉健康。肌肉作为身体最大的糖储存、脂肪和糖分解的器官,其功能状态影响着身体代谢功能的正常,因此与其代谢综合征、糖尿病、
- 泰凌微8258相关问题归纳
m0_69078052
单片机嵌入式硬件
1、8258,如何生成8位随机数地址的代码答:一般协议栈中有rand()函数可以生成随机数。2、start_reboot();前调用串口发送,不成功beautifulzzzzMay27,201717:59Subscribe中/A在调用start_reboot前调用的串口发送不成功,即使在串口发送后用while循环延时10s也发送不成功。请问这是什么原因导致的,是不是贵司封装的串口驱动有些特殊?答:
- python 实现一个简单的网页爬虫程序
ziyuluoyao_Meg
pythonpython爬虫
最近在学习python,以下为网页爬虫代码,供参考1、爬取指定网页的标题和所有的连接2、并将这些信息保存到一个文件中。前置:因使用到网页相关的功能,故需导入requests、BeautifulSoup库来完成#导入网页相关的库importrequestsfrombs4importBeautifulSoup#定义一个函数get_page()defget_page(url):response=requ
- IndexError: list index out of range
十三先生po
数据分析爬虫错误listpython爬虫
问题参考python异常处理tryexcept问题背景使用python的beautifulsoup库爬取网页数据的时候,使用select方法找标签并赋值时报错IndexError:listindexoutofrange关键部位原代码date=i.select('.c-abstract')dict['date'].append(''
- python爬虫处理滑块验证_python selenium爬虫滑块验证
用户6731453637
python爬虫处理滑块验证
importrandomimporttimefromPILimportImagefromioimportBytesIOimportrequestsasrqfrombs4importBeautifulSoupasbsfromseleniumimportwebdriverfromselenium.webdriverimportActionChainsfromselenium.webdriverimpo
- Python股票数据爬虫
nujiah001
技术总结stockpython
最近再看python的爬虫,刚好有人问到能不能把所有的股票数据爬下来.看一些其他人的实现方式,可能一些网站进行了优化,竟然没有找到能完全直接用的,但得到了很好的思路.简单记录一下,方便以后自己使用.准备工作.安装anaconda.使用jupyter.安装BeautifulSoup,requests包实现步骤:1.得到股票列表defis_stock(href_para): ifhref_parai
- 爬信息到excel里
赤兔马百花袍
pythonchrome数据挖掘爬虫
代码:#-*-coding=utf-8-*-frombs4importBeautifulSoupimporturllib.request,urllib.errorimportreimportxlwt#主函数defmain():baseurl='https://movie.douban.com/top250?start='dataList=getData(baseurl)dbpath="豆瓣电影25
- 基础爬虫 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 web自动化
gaoguide2015
自动化脚本webhtml
1.python爬虫之模拟登陆csdn(登录、cookie)http://blog.csdn.net/yanggd1987/article/details/52127436?locationNum=32、xml解析:Python网页解析:BeautifulSoup与lxml.html方式对比(xpath)lxml库速度快,功能强大,推荐。http://blog.sina.com.cn/s/blog
- 好尴尬,借用的轮子在我这里还是没有运行起来
七三里
pythonflaskdjangopipsqlitecsshtml5
前期引用flask框架,由于版本不兼容,像是捅了flask-bug的窝。一开始是减低版本,然后一换卡一环,直接百度,试了很多办法都没有成功。之后添加语句下面展示一些内联代码片。#-*—coding:utf-8-*—fromdatetimeimportdatetimeimportappfrombs4importBeautifulSoupfromflask_migrateimportMigratefr
- open-spider开源爬虫工具:抖音数据采集_抖音直播爬虫采集
2401_83817769
程序员爬虫
静态内容抓取是指从网页中直接提取信息的过程。这通常涉及到以下几个步骤:使用requests库发送HTTP请求,获取网页的原始数据。例如,你可以使用requests.get(url)来获取抖音首页的HTML内容。利用BeautifulSoup库对获取到的HTML进行解析。BeautifulSoup提供了丰富的方法来处理和提取HTML文档中的数据。例如,你可以使用find()或find_all()方法
- Pyhton抓取BOSS直聘职位描述和数据清洗,很简单没有那么难
嗨学编程
一、抓取详细的职位描述信息详情页分析Python学习资料或者需要代码、视频加Python学习群:960410445在详情页中,比较重要的就是职位描述和工作地址这两个由于在页面代码中岗位职责和任职要求是在一个div中的,所以在抓的时候就不太好分,后续需要把这个连体婴儿,分开分析。爬虫用到的库使用的库有:requestsBeautifulSoup4pymongoPython代码代码easy,初学者都能
- 如何用python写采集亚马逊商品的程序
myCOTB
Pythonpython开发语言
要编写一个采集亚马逊商品信息的程序,我们可以使用Python中的requests库来发送HTTP请求,并使用BeautifulSoup库来解析HTML页面。由于亚马逊有反爬虫机制,使用这种方式可能需要处理一些反爬虫策略,如使用随机的User-Agent、IP代理等。以下是一个简单的示例程序,用于从亚马逊采集特定商品的名称、价格和评分。步骤一:安装必要的库首先,安装所需的库:pipinstallre
- 自动安装第三方库python,python第三方库自动安装脚本
杏仁菌子
自动安装第三方库python
#python第三方库自动安装脚本,需要在cmd中运行此脚本#BatchInstall.pyimportoslibs={"numpy","matplotlib","pillow","sklearn","requests",\"jieba","beautifulsoup4","wheel","networkx","sympy",\"pyinstaller","django","flask","wer
- easyspider
weixin_30793643
python
#-*-coding:utf-8-*-"""CreatedonFriAug1815:58:132017@author:JClian"""importreimportbs4importurllib.requestfrombs4importBeautifulSoupimporturllib.parseimportsyssearch_item=input("Enterwhatyouwant(Enter'
- 第5关:爬取单页多个div标签的信息
小锐->技术成就梦想,梦想成就辉煌。
pythonpython网络爬虫
任务描述本关任务:改进上一关的代码。爬取湖南大学讲座网页的多个讲座信息,存储在二维列表jzxx中。湖南大学讲座信息的网址为学术活动-湖南大学相关知识find_all函数通过BeautifulSoup的find_all(name,attr)方法,可以找到符合条件的多个标签,将多个标签的内容返回为一个列表lb=bg.find_all("div",class="xinwen-wen")找到网页的所有cl
- 第2关:BeautifulSoup解析网页
小锐->技术成就梦想,梦想成就辉煌。
pythonpython刷题pythonhtml
任务描述相关知识BeautifulSoup库的安装BeautifulSoup库的使用编程要求测试说明任务描述本关任务:使用BeautifulSoup解析网页爬取古诗词的内容部分。相关知识为了完成本关任务,你需要掌握:BeautifulSoup的使用。BeautifulSoup库的安装BeautifulSoup和lxml一样,BeautifulSoup也是一个HTML/XML的解析器,主要的功能也是
- Python爬取QQ音乐的代码
三更寒天
python开发语言爬虫
以下是一个简单的Python爬取QQ音乐的代码示例:importrequestsfrombs4importBeautifulSoupdefget_music_info(music_id):headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/89.0.
- Nginx负载均衡
510888780
nginx应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
- RedHat 6.4 安装 rabbitmq
bylijinnan
erlangrabbitmqredhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
- FilenameUtils工具类
eksliang
FilenameUtilscommon-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
- 通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
- 如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
- spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
- 用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
- 1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
- 浅谈java转成json编码格式技术
百合不是茶
json编码java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
- web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
javaweb.xmlSSIspring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
- Installing SonarQube(Fail to download libraries from server)
sunjing
InstallSonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
- 【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
- Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
- Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
- 编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
- lunce创建索引及简单查询
chengxuyuancsdn
查询创建索引lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
- [IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
- flashback transaction闪回事务查询
daizj
oraclesql闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
- Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
- C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
- 今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
- 单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
- Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
- 公司项目NODEJS实践0.1
逐行分析JS源代码
mongodbnginxubuntunodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
- java.lang.Math
liuhaibo_ljf
javaMathlang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
- linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
- ZooKeeper3.4.6的集群部署
roadrunners
zookeeper集群部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
- Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
- 微信支付api返回的xml转换为Map的方法
xu3508620
xmlmap微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><