https://github.com/matmanjs/web-crawl-util
前端页面爬虫工具库
https://github.com/matmanjs/web-crawl-util
Last synced: 5 months ago
JSON representation
前端页面爬虫工具库
- Host: GitHub
- URL: https://github.com/matmanjs/web-crawl-util
- Owner: matmanjs
- License: mit
- Created: 2018-06-25T13:33:14.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-07-21T05:29:47.000Z (over 3 years ago)
- Last Synced: 2024-12-03T06:47:15.428Z (about 1 year ago)
- Language: TypeScript
- Size: 130 KB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# web-crawl-util
前端页面爬虫工具库。
## 1. 安装
```bash
$ npm install web-crawl-util
```
## 2. API
### 2.1 useJquery
使用 jQuery 封装了一些常用操作。
#### 2.1.1 getText(jqCur, jqContainer)
获得文字信息。其最终会调用 jQuery 的 [.text()](http://api.jquery.com/text/) 方法。
- `jqCur`,css选择器或者jQuery对象,例如 '#id .css'
- `jqContainer`,祖先元素的css选择器或者jQuery对象
#### 2.1.2 getVal(jqCur, jqContainer)
获得 input 元素中的值。其最终会调用 jQuery 的 [.val()](http://api.jquery.com/val/) 方法。
- `jqCur`,css选择器或者jQuery对象,例如 '#id .css'
- `jqContainer`,祖先元素的css选择器或者jQuery对象
#### 2.1.3 getAttr(name, jqCur, jqContainer)
获得属性值。其最终会调用 jQuery 的 [.attr()](http://api.jquery.com/attr/) 方法。
- `name`,属性名字,例如 'href'
- `jqCur`,css选择器或者jQuery对象,例如 '#id .css'
- `jqContainer`,祖先元素的css选择器或者jQuery对象
#### 2.1.4 getTotal(jqCur, jqContainer)
获得符合条件的DOM数量。其最终会调用 jQuery 的 [.length](https://api.jquery.com/length/#length1) 方法。
- `jqCur`,css选择器或者jQuery对象,例如 '#id .css'
- `jqContainer`,祖先元素的css选择器或者jQuery对象
#### 2.1.5 isExist(jqCur, jqContainer)
是否存在。
- `jqCur`,css选择器或者jQuery对象,例如 '#id .css'
- `jqContainer`,祖先元素的css选择器或者jQuery对象
#### 2.1.6 getImageDomUrl(jqCur, jqContainer)
获得 img 标签中图片的地址。
- `jqCur`,css选择器或者jQuery对象,例如 '#id .css'
- `jqContainer`,祖先元素的css选择器或者jQuery对象
#### 2.1.7 getStyle(jqCur, jqContainer)
获得 dom 元素中的部分计算属性值
- `jqCur`,css选择器或者jQuery对象,例如 '#id .css'
- `jqContainer`,祖先元素的css选择器或者jQuery对象
返回对象:
| 属性 | 类型 |说明 |
| ------------- | --- | -------------------- |
| `width` | `Number` | 元素宽度 |
| `height` | `Number` | 元素高度 |
| `lineHeight` | `Number` | 元素字体行高 |
| `isOneLine` | `Boolean` | 判断是否是一行文字 |
| `computedStyle` | `Object` | 计算之后的样式,使用 `document.defaultView.getComputedStyle(curDom)` 获得 |
| `isExist` | `Boolean` | 是否存在 |
#### 2.1.8 getBackgroundImageUrl(jqCur, jqContainer)
获得 `background-image` 属性中图片的链接
- `jqCur`,css选择器或者jQuery对象,例如 '#id .css'
- `jqContainer`,祖先元素的css选择器或者jQuery对象
#### 2.1.9 getDataFromTable(jqCur, jqContainer)
获得 table 表格中的数据,返回一个二维数组。
- `jqCur`,css选择器或者jQuery对象,例如 '#id .css'
- `jqContainer`,祖先元素的css选择器或者jQuery对象
可以查看 [test/fixtures/table.html](./test/fixtures/table.html) 这个示例,执行后的结果为:

```js
// 目标结果
const targetResult = [
['客户', '期初余额', '订单金额', '订单金额', '收款金额', '收款账户', '客户余额', '备注'],
['新月', '21', '22', '23', '24', '25', '26', ''],
['新月', '31', '22', '33', '34', '35', '36', ''],
['合计', '41', '22', '43', '43', '-', '46', '']
];
```