Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

详情页的章节目录需要点击按钮后,才会触发循环请求章节数据,返回html 的json数据,请问各位大佬这个章节目录规则该怎么写。 #2193

Closed
wpyok500 opened this issue Aug 25, 2022 · 13 comments
Labels
需求 F.用户提出的功能意见

Comments

@wpyok500
Copy link

wpyok500 commented Aug 25, 2022

1、详情页的章节目录需要点击按钮后,才会触发循环请求章节数据,返回html 的json数据,请问各位大佬这个章节目录规则该怎么写。

书库网站:https://www.idejian.com/

2、java.ajax 支持设置heads 吗?

3 、能否访问请求网络?

<js>
var map = new Map();
map.set('User-Agent', "Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4356.6 Safari/537.36");
java.get("https://m.idejian.com/catalog?bookId=12524852", map);
</js>

//实现重定向拦截,返回Connection.Response
java.get(url: String, headers: Map<String, String>)
java.post(urlStr: String, body: String, headers: Map<String, String>)

@gedoor 大佬这种能处理吗?

@wpyok500 wpyok500 added the 需求 F.用户提出的功能意见 label Aug 25, 2022
@821938089
Copy link
Collaborator

1、用js手动发送请求
2、可以,链接格式和搜索链接一样
3、headers参数在js中传入的是一个对象,不是js中的map,Map<String, String>参数类型是kotlin里面的

@wpyok500
Copy link
Author

@821938089 大佬,第3点能简单举例下,还是没明白

@821938089
Copy link
Collaborator

var headers = {"User-Agent": "..."}
java.get("https://m.idejian.com/catalog?bookId=12524852", headers)

@wpyok500
Copy link
Author

wpyok500 commented Aug 25, 2022

val map = mapOf<String,String>("User-Agent" to "Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4356.6 Safari/537.36") 这样可以吗?

@821938089
Copy link
Collaborator

你这是干嘛用的,阅读的规则只能写js啊,执行不了kotlin

@wpyok500
Copy link
Author

wpyok500 commented Aug 25, 2022

var headers = {"User-Agent": "..."}
java.get("https://m.idejian.com/catalog?bookId=12524852", headers)
<js>var headers={"User-Agent" : "Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4356.6 Safari/537.36"};
java.get("https://m.idejian.com/catalog?bookId=12524852", headers);</js>

这样报错

@821938089
Copy link
Collaborator

分号打错,变量名也不对

@wpyok500
Copy link
Author

Screenshot_20220825_235644_io legado app release

@821938089
Copy link
Collaborator

这样写 java.get(...).body()
还有规则执行结果需要是一个数组

@wpyok500
Copy link
Author

<js>java.get("https://m.idejian.com/catalog?bookId=12524852",{
    "charset": "utf-8",
    "method": "get",
    "User-Agent": "Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4356.6 Safari/537.36",
     "Content-Type":"application/x-www-form-urlencoded"
});</js>

Screenshot_20220826_065847_io legado app release

@821938089
Copy link
Collaborator

java.get的第二个参数是协议头,不要把不是协议头的东西写进去

还是有以下问题:
这样写 java.get(...).body()
还有规则执行结果需要是一个数组

@wpyok500
Copy link
Author

<js>java.get("https://m.idejian.com/catalog?bookId=12524852",{
    "User-Agent": "Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4356.6 Safari/537.36"
}).body();</js>

Screenshot_20220826_123005_io legado app release

@821938089
Copy link
Collaborator

你这个规则现在只获取到了json文本,需要把他处理成一个数组

@Xwite Xwite closed this as completed Sep 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
需求 F.用户提出的功能意见
Projects
None yet
Development

No branches or pull requests

3 participants