├── README.md
├── cold_call.py
├── requirements.txt
└── sites.json
/README.md:
--------------------------------------------------------------------------------
1 | # Coldcalls & Messages
2 |
3 | ## 仅供学习交流,请勿用作其他用途。
4 |
5 | 本项目类似于轰炸机。
6 | 逻辑如下:
7 | - 使用手机号在留学、在线教育、装修等网站留下信息,则销售会主动不厌其烦地call此手机号。
8 | - 使用手机号注册、登录网站,则会收到短信验证码。
9 |
10 |
11 | ### 食用方式
12 | - 项目基于selenium,请下载对应版本chromedriver放于本项目下
13 | ```bash
14 | git clone https://github.com/broholens/coldcalls.git
15 | cd coldcalls
16 | pip install requirements.txt
17 | python cold_call.py
18 | ```
19 | - **添加自己解析的网站**
20 | 编辑*sites.json*,按照解析规则添加关键字即可。**欢迎Pull-Request,提供更多网站的解析。**
21 | 解析规则如下:
22 |
23 | | 关键字 | 说明 | 示例 |
24 | | :-----: | :----: | :----: |
25 | | url | 网站url | https://qy.thea.cn/ |
26 | | rate | 网站每天请求次数。不填默认为1。电话类建议不填,短信类视网站规则填写 | 3 |
27 | | sleep_time | 访问网站后等待页面加载时间,不填默认为0 | 2 |
28 | | iframe | 需要切换的iframe,不切换则不填 | LR_miniframe |
29 | | preset | 请求到网站后,填写表单前需要做的操作。 没有则不填| |
30 | | username_path | 用户名填写,没有则不填 | |
31 | | phone_path | 手机号填写 | |
32 | | message_path | 留言填写,没有则不填 | |
33 | | password_path | 密码填写,没有则不填 | |
34 | | password_confirm_path | 密码确认填写,没有则不填 | |
35 | | submit_path | 提交表单按钮,没有则不填 | |
36 | | postset | 表单提交完后需要做的操作。 没有则不填| |
37 | | mode | 定位元素的模式,可选值[id、xpath、name、class_name、link_text],默认为xpath,调用selenium对应方法 | id |
38 | | value | 按照mode定位的关键字 | mobile |
39 | | type | 仅支持preset和postset,可选值[click、script],默认为click,执行点击操作;script则执行value对应的脚本,不必填mode字段 | script |
40 |
41 | - 示例
42 | ```json
43 | {
44 | "rate": 3,
45 | "sleep_time": 3,
46 | "url": "https://qy.thea.cn/",
47 | "iframe": "LR_miniframe",
48 | "preset": {
49 | "type": "click",
50 | "mode": "xpath",
51 | "value": "//li[@class=\"clearfix\"]/div/a[2]"
52 | },
53 | "username_path": {
54 | "mode": "name",
55 | "value": "contact"
56 | },
57 | "phone_path": {
58 | "mode": "name",
59 | "value": "mobile"
60 | },
61 | "password_path": {
62 | "mode": "name",
63 | "value": "password"
64 | },
65 | "password_confirm_path": {
66 | "mode": "name",
67 | "value": "password_confirm"
68 | },
69 | "message_path": {
70 | "mode": "name",
71 | "value": "content"
72 | },
73 | "submit_path": {
74 | "value": "//div[@class=\"qpform\"]//input[last()]"
75 | },
76 | "postset": {
77 | "type": "script",
78 | "value": "FunLM10GetPrice()"
79 | }
80 | }
81 | ```
82 | - 解析网站关键字执行顺序
83 | `url -> sleep_time -> iframe -> preset -> *_path -> postset`
84 |
85 | ### 已解析网站列表
86 |
87 | 1. [liuxue86](https://www.liuxue86.com/)
88 | 2. [北木](http://www.beimu.com/school/)
89 | 3. [伯乐](http://www.bole.com/registerPage)
90 | 4. [课工厂](http://www.kgc.cn/zhuanti/cpjh_pc.shtml)
91 | 5. [创思童](http://www.gemstonecn.com/consociation.php)
92 | 6. [诺达名师](http://qy.thea.cn/)
93 | 7. [掌门一对一](https://www.zhangmen.org/lp/sem)
94 | 8. [加盟1对1](http://zs.jiameng.com/goJmPriceBoard2.html)
95 | 9. [秦学100](http://fd1.qinxue100.com/index.html)
96 | 10. [英孚](https://www.ef.com.cn/englishfirst/kids/)
97 | 11. [趣趣abc](https://www.ququabc.com/offlinep.htm)
98 | 12. [乐宁](http://learning.learningedu.com.cn/)
99 | 13. [七彩星球](http://www.cctvqcxq.com/)
100 | 14. [昂立教育](http://www.onlychild.cn/)
101 | 15. [久伴英语](https://www.nicekid.com/register/nicekid-biteabc)
102 | 16. [51talk](http://www.51talk.com/landing/bdpz1_087737.html)
103 | 17. [山姆大叔少儿英语](http://www.unclesamedu.com/index.php)
104 | 18. [学而思](https://zt.xueersi.com/zaixian/pc-zhu-tiyanke/index.html)
105 | 19. [汤姆客](http://www.hellotom-edu.com/470)
106 | 20. [勤学教育](http://www.qinxue365.com/business/388.html)
107 | 21. [it61](http://www.it61.cn/coding-class/)
108 | 22. [傲梦](https://all-dream.com/)
109 | 23. [优学](http://www.ubxedu.com/course/)
110 | 24. [码高](http://www.magaoedu.cn/)
111 | 25. [小码王](http://www.xiaomawang.net/)
112 | 26. [有渔](http://www.youyucode.com/)
113 | 27. [达内](http://xa.ui.tedu.cn/baiduuipc/zh/)
114 | 28. [趣码](http://xw7c8v4rx7ajxxvj.mikecrm.com/kiMGSiQ)
115 | 29. [58登陆](https://passport.58.com/login)
116 | 30. [快递100登陆](https://sso.kuaidi100.com/sso/authorize.do)
117 | 31. [快递100注册](https://sso.kuaidi100.com/sso/reg.jsp)
118 | 32. [沪江](https://class.hujiang.com/)
119 | 33. [华图](http://v.huatu.com/newUser/reg.php)
120 | 34. [vipjr](https://www.vipjr.com/)
121 | 35. [千里马](http://www.qianlima.com/new/keywordzhuolu_invite.jsp)
122 | 36. [豆瓣](https://accounts.douban.com/passport/login?source=book)
123 | 37. [潇湘书院](https://www.xxsy.net/Reg)
124 | 38. [智能电视](https://www.znds.com/member.php?mod=zndscomregister)
125 | 39. [美女时钟](http://reg.timemm.com/user/register)
126 | 40. [爱空间](https://tj.ikongjian.com/reservation/index)
127 | 41. [to8to](https://www.to8to.com/yezhu/)
128 | 42. [齐家](https://www.jia.com/zx/other/semtf/)
129 | 43. [装修一族](http://beijing.zhuangxiuyizu.cn/)
130 | 44. [居云装潢](http://www.sh-juyun.com/)
131 | 45. [保家](http://bj.xtuan.com/zhuangxiu/)
132 | 46. [大鱼装修](https://www.idayu.cn/)
133 | 47. [东易日盛](https://shenzhen.dyrs.com.cn/)
134 | 48. [百度楼市](http://baiduloushi.com/plus/view.php?aid=653)
135 | 49. [升学](http://www.sxxxpx.cn/mba/wps/p/002QG/)
136 | 50. [百广荟](http://wap.gbhui.com/captcha_login.html)
137 | 51. [haval](https://2car.haval.com.cn/quicklogin)
138 | 52. [小米](https://account.xiaomi.com/pass/serviceLogin)
139 | 53. [华尔街英语](https://wse.com.cn/zh/register/)
140 | 54. [米哈游](https://user.mihoyo.com/#/register/mobile?cb_route=%2Faccount%2Fhome)
141 | 55. [薯宝](http://www.zgtzmls.com/Home/User/reg.html)
142 | 56. [gsbankmall](https://www.gsbankmall.com/index.php/Wap/index/userhome.html)
143 | 57. [story-mark](https://www.story-mark.com/login/code)
144 | 58. [前程无忧](https://login.51job.com/login.php?isjump=0&loginway=1&lang=c&from_domain=i&url=)
145 | 59. [楼事](http://passport.360eol.com/pc/passwordOrCodeLogin?from=http%3A%2F%2Fnanjing.360loushi.com%2F&appId=AOqn8WGeXHGZN23dF)
146 | 60. [infoq](https://account.geekbang.org/infoq/signup?redirect=https%3A%2F%2Fwww.infoq.cn%2Farticle%2FLZE%2aob52bASspjYu4c6Z)
147 | 61. [tcl](http://user.tcl.com/proxy/login)
148 | 62. [拼多多商家](https://ims.pinduoduo.com/plus/)
149 | 63. [简书重置密码](https://www.jianshu.com/users/password/mobile_reset)
150 | 65. [无忧精英](https://login.51job.com/login.php?isjump=0&loginway=1&lang=c&from_domain=i&url=http%3A%2F%2Fwww.51job.com%2F)
151 |
168 |
--------------------------------------------------------------------------------
/cold_call.py:
--------------------------------------------------------------------------------
1 | import random
2 | import time
3 |
4 | from loguru import logger
5 | from faker import Faker
6 | from pyfunctions import fun
7 | from selenium.common.exceptions import TimeoutException
8 | from selenium.webdriver.common.by import By
9 |
10 |
11 | logger.add('call.log', rotation='20 MB')
12 |
13 |
14 | class ColdCall:
15 | # 密码只要符合网站注册密码要求即可
16 | password = 'aiahdia6'
17 | # 映射配置文件中定位元素的模式
18 | mode_map = {
19 | 'id': By.ID,
20 | 'xpath': By.XPATH,
21 | 'name': By.NAME,
22 | 'class_name': By.CLASS_NAME,
23 | 'link_text': By.LINK_TEXT
24 | }
25 |
26 | def __init__(self, phone_number, name=''):
27 | self.driver = fun.make_driver(load_img=True)
28 | self.driver.set_page_load_timeout(30)
29 | self.driver.set_script_timeout(30)
30 | self.phone_number = phone_number
31 | self.name = name or Faker('zh_CN').name()
32 |
33 | def tease_site(self, site):
34 | """根据配置点击网站进行注册/登录"""
35 | self.driver.get(site['url'])
36 | # 获取site字段
37 | username, password = site.get('username_path'), site.get('password_path')
38 | phone_path, submit_path = site['phone_path'], site.get('submit_path')
39 | iframe, password_confirm = site.get('iframe'), site.get('password_confirm_path')
40 | sleep_time, message = float(site.get('sleep_time', 0)), site.get('message_path')
41 | # 不填写留言内容默认使用手机号
42 | message_content = message and message.get('msg', self.phone_number)
43 | preset, postset = site.get('preset'), site.get('postset')
44 | # 等待表单页面加载完全
45 | sleep_time and time.sleep(sleep_time)
46 | iframe and self.driver.switch_to.frame(iframe)
47 | preset and self._parse_type(preset)
48 | # 填写表单
49 | self._send_optional_value(username, self.name)
50 | self.send_phone_number(phone_path)
51 | fun.random_sleep(3)
52 | self._send_optional_value(password, self.password)
53 | fun.random_sleep(3)
54 | self._send_optional_value(password_confirm, self.password)
55 | fun.random_sleep(3)
56 | self._send_optional_value(message, message_content)
57 | fun.random_sleep(3)
58 | submit_path and self._find_element(submit_path).click()
59 | postset and self._parse_type(postset)
60 | fun.random_sleep(2)
61 | # 处理alert
62 | try:
63 | alert = self.driver.switch_to.alert()
64 | alert.accept()
65 | except:
66 | pass
67 | fun.random_sleep(60)
68 |
69 | def send_phone_number(self, phone_path):
70 | """逐个字符输入手机号"""
71 | time.sleep(1)
72 | self._find_element(phone_path).clear()
73 | for i in range(11):
74 | self._find_element(phone_path).send_keys(self.phone_number[i])
75 | fun.random_sleep(0.3)
76 |
77 | def _parse_type(self, item):
78 | """解析preset和postset字段,执行点击命令/脚本"""
79 | set_type = item.get('type', 'click')
80 | if set_type == 'click':
81 | self._find_element(item).click()
82 | elif set_type == 'script':
83 | self.driver.execute_script(item['value'])
84 | time.sleep(0.2)
85 |
86 | @staticmethod
87 | def _load_sites(verify_code_only=False):
88 | """
89 | 加载配置文件,通过rate字段区分短信/电话
90 | :param verify_code_only: 只返回验证码
91 | :return: 需要请求的网站
92 | """
93 | sites = fun.load_json_file("sites.json")
94 | rate_sites = [(site, int(site['rate'])) for site in sites if 'rate' in site]
95 | if verify_code_only:
96 | sites = []
97 | for site in rate_sites:
98 | sites.extend([site[0]] * site[1])
99 | random.shuffle(sites)
100 | return sites
101 |
102 | for site in rate_sites:
103 | sites.extend([site[0]] * (site[1]-1))
104 | random.shuffle(sites)
105 | return sites
106 |
107 | def _parse_mode(self, item):
108 | """解析配置文件中的mode,默认为xpath"""
109 | mode = item.get('mode', 'xpath')
110 | return self.mode_map[mode]
111 |
112 | def _find_element(self, item):
113 | """对driver.find_element的封装"""
114 | return self.driver.find_element(self._parse_mode(item), item['value'])
115 |
116 | def _send_optional_value(self, key, value):
117 | """对于可能存在的值进行填写"""
118 | if key:
119 | self._find_element(key).send_keys(value)
120 |
121 | def run(self, verify_code_only=False):
122 | # self.tease_site(fun.load_json_file('sites.json')[-1])
123 | # sites = fun.load_json_file("sites.json")[-2:]
124 | sites = self._load_sites(verify_code_only)
125 | for site in sites:
126 | try:
127 | self.tease_site(site)
128 | logger.info(f"[SUCCESS] {site['url']}")
129 | except TimeoutException:
130 | try:
131 | self.driver.refresh()
132 | except:
133 | logger.info(f"[ERROR] {site['url']}")
134 | except:
135 | logger.info(f"[ERROR] {site['url']}")
136 |
137 | self.driver.quit()
138 |
139 |
140 | if __name__ == '__main__':
141 | cc = ColdCall("")
142 | cc.run()
143 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | pyfunctions~=2020.6.17.13.47.45
2 | loguru~=0.5.1
3 | Faker~=4.1.0
4 | selenium~=3.141.0
--------------------------------------------------------------------------------
/sites.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "url": "https://www.liuxue86.com/",
4 | "phone_path": {
5 | "value": "//li/form[@class=\"guestbook-fixed\"]/input"
6 | },
7 | "submit_path": {
8 | "value": "//li/form[@class=\"guestbook-fixed\"]/button"
9 | },
10 | "sleep_time": 2
11 | },
12 | {
13 | "url": "http://www.beimu.com/school/",
14 | "preset": {
15 | "type": "click",
16 | "value": "//li[@class=\"clearfix\"]/div/a[2]"
17 | },
18 | "username_path": {
19 | "mode": "id",
20 | "value": "LM10ContactID"
21 | },
22 | "phone_path": {
23 | "mode": "id",
24 | "value": "LM10PhoneID"
25 | },
26 | "postset": {
27 | "type": "script",
28 | "value": "FunLM10GetPrice()"
29 | }
30 | },
31 | {
32 | "url": "http://www.bole.com/registerPage",
33 | "username_path": {
34 | "mode": "id",
35 | "value": "yonghu"
36 | },
37 | "phone_path": {
38 | "mode": "id",
39 | "value": "shouji"
40 | },
41 | "submit_path": {
42 | "value": "//a[@id=\"sub\"]"
43 | }
44 | },
45 | {
46 | "url": "http://www.kgc.cn/zhuanti/cpjh_pc.shtml",
47 | "username_path": {
48 | "mode": "id",
49 | "value": "userName"
50 | },
51 | "phone_path": {
52 | "mode": "id",
53 | "value": "tel"
54 | },
55 | "submit_path": {
56 | "mode": "id",
57 | "value": "btn-ty"
58 | }
59 | },
60 | {
61 | "url": "http://www.gemstonecn.com/consociation.php",
62 | "iframe": "LR_miniframe",
63 | "preset": {
64 | "type": "script",
65 | "value": "showtel1()"
66 | },
67 | "phone_path": {
68 | "value": "//div[@class=\"telephone\"]/input[1]"
69 | },
70 | "submit_path": {
71 | "value": "//div[@class=\"telephone\"]/input[2]"
72 | },
73 | "sleep_time": 3
74 | },
75 | {
76 | "url": "https://qy.thea.cn/",
77 | "username_path": {
78 | "mode": "name",
79 | "value": "contact"
80 | },
81 | "phone_path": {
82 | "mode": "name",
83 | "value": "mobile"
84 | },
85 | "message_path": {
86 | "mode": "name",
87 | "value": "content"
88 | },
89 | "submit_path": {
90 | "value": "//div[@class=\"qpform\"]//input[last()]"
91 | }
92 | },
93 | {
94 | "rate": 3,
95 | "url": "https://www.zhangmen.com/lp/sem",
96 | "username_path": {
97 | "mode": "id",
98 | "value": "s-name"
99 | },
100 | "phone_path": {
101 | "mode": "id",
102 | "value": "stu_mobile1"
103 | },
104 | "submit_path": {
105 | "mode": "id",
106 | "value": "pcheaderbtn2"
107 | }
108 | },
109 | {
110 | "url": "http://zs.jiameng.com/goJmPriceBoard2.html",
111 | "username_path": {
112 | "mode": "id",
113 | "value": "txtName"
114 | },
115 | "phone_path": {
116 | "mode": "id",
117 | "value": "txtTel"
118 | },
119 | "submit_path": {
120 | "mode": "id",
121 | "value": "imgBtnUp"
122 | }
123 | },
124 | {
125 | "url": "http://fd1.qinxue100.com/index.html",
126 | "username_path": {
127 | "mode": "id",
128 | "value": "name"
129 | },
130 | "phone_path": {
131 | "mode": "id",
132 | "value": "tel"
133 | },
134 | "submit_path": {
135 | "mode": "name",
136 | "value": "submit"
137 | }
138 | },
139 | {
140 | "url": "https://www.ef.com.cn/englishfirst/kids/",
141 | "phone_path": {
142 | "mode": "name",
143 | "value": "mobile"
144 | },
145 | "submit_path": {
146 | "value": "//form[contains(@class, \"ef-form\")]/div[2]/div/div[2]/a"
147 | }
148 | },
149 | {
150 | "url": "https://www.ququabc.com/offlinep.htm",
151 | "username_path": {
152 | "mode": "name",
153 | "value": "username"
154 | },
155 | "phone_path": {
156 | "mode": "id",
157 | "value": "mobile"
158 | },
159 | "submit_path": {
160 | "mode": "class_name",
161 | "value": "submit"
162 | }
163 | },
164 | {
165 | "url": "http://learning.learningedu.com.cn/",
166 | "phone_path": {
167 | "mode": "id",
168 | "value": "Tel"
169 | },
170 | "submit_path": {
171 | "mode": "id",
172 | "value": "pctest01"
173 | }
174 | },
175 | {
176 | "url": "http://www.cctvqcxq.com/",
177 | "username_path": {
178 | "mode": "id",
179 | "value": "name"
180 | },
181 | "phone_path": {
182 | "mode": "id",
183 | "value": "mobile"
184 | },
185 | "message_path": {
186 | "mode": "id",
187 | "value": "area",
188 | "msg": "上海"
189 | },
190 | "submit_path": {
191 | "value": "//span[@class=\"ant-form-item-children\"]/button"
192 | }
193 | },
194 | {
195 | "url": "http://www.onlychild.cn/",
196 | "phone_path": {
197 | "mode": "id",
198 | "value": "mobile"
199 | },
200 | "submit_path": {
201 | "mode": "id",
202 | "value": "btnSubmit"
203 | }
204 | },
205 | {
206 | "rate": 3,
207 | "url": "https://www.nicekid.com/register/nicekid-biteabc",
208 | "phone_path": {
209 | "mode": "name",
210 | "value": "iphone"
211 | },
212 | "submit_path": {
213 | "value": "//a[contains(@class, \"get-code\")]"
214 | }
215 | },
216 | {
217 | "rate": 3,
218 | "url": "http://www.51talk.com/landing/bdpz1_087737.html",
219 | "preset": {
220 | "mode": "class_name",
221 | "value": "btn-show"
222 | },
223 | "phone_path": {
224 | "mode": "name",
225 | "value": "mobile"
226 | },
227 | "submit_path": {
228 | "value": "//button[contains(@class, \"sendBtn\")]"
229 | }
230 | },
231 | {
232 | "url": "http://www.unclesamedu.com/index.php",
233 | "phone_path": {
234 | "mode": "id",
235 | "value": "morder_tel"
236 | },
237 | "username_path": {
238 | "mode": "id",
239 | "value": "morder_name"
240 | },
241 | "submit_path": {
242 | "mode": "id",
243 | "value": "btn"
244 | }
245 | },
246 | {
247 | "rate": 3,
248 | "url": "https://zt.xueersi.com/zaixian/pc-zhu-tiyanke/index.html",
249 | "phone_path": {
250 | "mode": "id",
251 | "value": "phone"
252 | },
253 | "submit_path": {
254 | "mode": "id",
255 | "value": "phone-code-bt"
256 | }
257 | },
258 | {
259 | "url": "http://www.hellotom-edu.com/470",
260 | "phone_path": {
261 | "mode": "id",
262 | "value": "iphone"
263 | },
264 | "username_path": {
265 | "mode": "id",
266 | "value": "name"
267 | },
268 | "submit_path": {
269 | "mode": "class_name",
270 | "value": "jms_tj"
271 | }
272 | },
273 | {
274 | "url": "https://www.qinxue365.com/business/388.html",
275 | "phone_path": {
276 | "mode": "name",
277 | "value": "#Tel"
278 | },
279 | "username_path": {
280 | "mode": "name",
281 | "value": "#Name"
282 | },
283 | "submit_path": {
284 | "mode": "id",
285 | "value": "sub"
286 | }
287 | },
288 | {
289 | "url": "http://www.it61.cn/coding-class/",
290 | "phone_path": {
291 | "value": "//div[@class=\"phNB\"]/input"
292 | },
293 | "submit_path": {
294 | "value": "//div[@class=\"tijiao\"]"
295 | }
296 | },
297 | {
298 | "url": "https://all-dream.com/",
299 | "phone_path": {
300 | "value": "//input[@class=\"ant-input\"][2]"
301 | },
302 | "username_path": {
303 | "value": "//input[@class=\"ant-input\"][1]"
304 | },
305 | "submit_path": {
306 | "value": "//nav[@class=\"bottom-fixed-bar\"]/div/button"
307 | }
308 | },
309 | {
310 | "url": "http://www.ubxedu.com/course/",
311 | "iframe": "LR_miniframe",
312 | "preset": {
313 | "type": "script",
314 | "value": "showtel1()"
315 | },
316 | "phone_path": {
317 | "mode": "id",
318 | "value": "tel1"
319 | },
320 | "submit_path": {
321 | "mode": "id",
322 | "value": "telbtn"
323 | },
324 | "sleep_time": 3
325 | },
326 | {
327 | "url": "https://www.magaoedu.com/",
328 | "phone_path": {
329 | "mode": "id",
330 | "value": "phone"
331 | },
332 | "username_path": {
333 | "mode": "id",
334 | "value": "name"
335 | },
336 | "message_path": {
337 | "mode": "id",
338 | "value": "age",
339 | "msg": "上海"
340 | },
341 | "submit_path": {
342 | "mode": "id",
343 | "value": "save"
344 | }
345 | },
346 | {
347 | "rate": 3,
348 | "url": "https://sso.kuaidi100.com/sso/reg.jsp",
349 | "phone_path": {
350 | "mode": "id",
351 | "value": "name"
352 | },
353 | "submit_path": {
354 | "mode": "id",
355 | "value": "send"
356 | }
357 | },
358 | {
359 | "url": "http://www9.53kf.com/webCompany.php?arg=10135712&style=4",
360 | "username_path": {
361 | "mode": "id",
362 | "value": "ly_name"
363 | },
364 | "phone_path": {
365 | "mode": "id",
366 | "value": "ly_mobile"
367 | },
368 | "submit_path": {
369 | "mode": "id",
370 | "value": "submit_lword"
371 | }
372 | },
373 | {
374 | "rate": 3,
375 | "url": "https://adm.youyucode.com/appointment.html?source=n1",
376 | "phone_path": {
377 | "value": "//*[@id=\"main-container\"]/div/form/div[1]/div[5]/div/div/input"
378 | },
379 | "submit_path": {
380 | "value": "//*[@id=\"main-container\"]/div/form/div[1]/div[5]/div/div/div/button"
381 | }
382 | },
383 | {
384 | "url": "http://xa.ui.tedu.cn/baiduuipc/zh",
385 | "phone_path": {
386 | "mode": "class_name",
387 | "value": "lxb-cb-input"
388 | },
389 | "submit_path": {
390 | "mode": "class_name",
391 | "value": "lxb-cb-input-btn"
392 | }
393 | },
394 | {
395 | "url": "http://xw7c8v4rx7ajxxvj.mikecrm.com/kiMGSiQ",
396 | "username_path": {
397 | "value": "//*[@id=\"201741259\"]/div[2]/div/div[1]/input"
398 | },
399 | "message_path": {
400 | "value": "//*[@id=\"201742454\"]/div[2]/div/div/input",
401 | "msg": 10
402 | },
403 | "phone_path": {
404 | "value": "//*[@id=\"201741261\"]/div[2]/div/div/div/input"
405 | },
406 | "submit_path": {
407 | "mode": "class_name",
408 | "value": "fb_submitBtn"
409 | }
410 | },
411 | {
412 | "rate": 3,
413 | "url": "https://passport.58.com/reg/",
414 | "phone_path": {
415 | "mode": "id",
416 | "value": "mask_body_item_phonenum"
417 | },
418 | "submit_path": {
419 | "mode": "id",
420 | "value": "mask_body_item_getcode"
421 | }
422 | },
423 | {
424 | "rate": 3,
425 | "url": "https://sso.kuaidi100.com/sso/authorize.do",
426 | "preset": {
427 | "mode": "class_name",
428 | "value": "bd"
429 | },
430 | "phone_path": {
431 | "mode": "id",
432 | "value": "mobile"
433 | },
434 | "submit_path": {
435 | "mode": "id",
436 | "value": "send"
437 | }
438 | },
439 | {
440 | "rate": 3,
441 | "url": "https://class.hujiang.com/",
442 | "phone_path": {
443 | "mode": "name",
444 | "value": "tel"
445 | },
446 | "submit_path": {
447 | "mode": "class_name",
448 | "value": "btn-get-code"
449 | }
450 | },
451 | {
452 | "rate": 3,
453 | "url": "http://v.huatu.com/newUser/reg.php",
454 | "phone_path": {
455 | "mode": "id",
456 | "value": "phoneNumber"
457 | },
458 | "submit_path": {
459 | "value": "//input[contains(@class, \"jq_sendcode\")]"
460 | }
461 | },
462 | {
463 | "rate": 3,
464 | "url": "https://www.vipjr.com/",
465 | "preset": {
466 | "value": "//div[contains(@class, \"handle_register\")]"
467 | },
468 | "phone_path": {
469 | "mode": "name",
470 | "value": "nation_phone"
471 | },
472 | "submit_path": {
473 | "mode": "class_name",
474 | "value": "v-jr-btn"
475 | }
476 | },
477 | {
478 | "rate": 3,
479 | "url": "http://www.qianlima.com/new/keywordzhuolu_invite.jsp",
480 | "phone_path": {
481 | "mode": "class_name",
482 | "value": "phone"
483 | },
484 | "submit_path": {
485 | "value": "//p[contains(@class, \"yzm\")]"
486 | }
487 | },
488 | {
489 | "rate": 3,
490 | "url": "https://hi.codemao.cn/v2",
491 | "phone_path": {
492 | "mode": "class_name",
493 | "value": "index__input___1LXgD"
494 | },
495 | "submit_path": {
496 | "mode": "class_name",
497 | "value": "index__red_button___2BvRL"
498 | }
499 | },
500 | {
501 | "rate": 3,
502 | "url": "https://accounts.douban.com/passport/login?source=book",
503 | "phone_path": {
504 | "mode": "name",
505 | "value": "phone"
506 | },
507 | "submit_path": {
508 | "value": "//div[@class=\"account-form-field-code\"]/a"
509 | }
510 | },
511 | {
512 | "rate": 3,
513 | "url": "https://www.xxsy.net/Reg",
514 | "phone_path": {
515 | "mode": "name",
516 | "value": "mobileNumber"
517 | },
518 | "password_path": {
519 | "mode": "name",
520 | "value": "userPwd"
521 | },
522 | "password_confirm_path": {
523 | "mode": "name",
524 | "value": "confirmUserPwd"
525 | },
526 | "submit_path": {
527 | "mode": "class_name",
528 | "value": "accounbtn"
529 | }
530 | },
531 | {
532 | "rate": 3,
533 | "url": "http://reg.timemm.com/user/register",
534 | "phone_path": {
535 | "mode": "id",
536 | "value": "username"
537 | },
538 | "password_path": {
539 | "mode": "id",
540 | "value": "pwd"
541 | },
542 | "submit_path": {
543 | "value": "//button[contains(@class, \"get-code\")]"
544 | }
545 | },
546 | {
547 | "rate": 3,
548 | "url": "https://www.znds.com/member.php?mod=zndscomregister",
549 | "preset": {
550 | "type": "script",
551 | "value": "$('agreebbrule').checked = true;hideMenu('fwin_dialog', 'dialog');"
552 | },
553 | "phone_path": {
554 | "mode": "id",
555 | "value": "tel"
556 | },
557 | "postset": {
558 | "type": "script",
559 | "value": "dsendsms()"
560 | }
561 | },
562 | {
563 | "url": "https://tj.ikongjian.com/reservation/index",
564 | "preset": {
565 | "value": "//div[@class=\"fixeRight\"]/a[2]"
566 | },
567 | "username_path": {
568 | "mode": "id",
569 | "value": "resUserName"
570 | },
571 | "phone_path": {
572 | "mode": "id",
573 | "value": "resMobile"
574 | },
575 | "submit_path": {
576 | "mode": "class_name",
577 | "value": "aboutJs_button"
578 | }
579 | },
580 | {
581 | "url": "https://www.to8to.com/yezhu/",
582 | "username_path": {
583 | "mode": "id",
584 | "value": "Name"
585 | },
586 | "phone_path": {
587 | "mode": "id",
588 | "value": "Tphone"
589 | },
590 | "submit_path": {
591 | "mode": "class_name",
592 | "value": "form-btn"
593 | }
594 | },
595 | {
596 | "url": "https://www.jia.com/zx/other/semtf/",
597 | "preset": {
598 | "mode": "id",
599 | "value": "zaixianbaojia"
600 | },
601 | "username_path": {
602 | "value": "//div[@class=\"rank_li\"]/input"
603 | },
604 | "phone_path": {
605 | "value": "//div[@class=\"rank_li\"]/input[@name=\"mobile\"]"
606 | },
607 | "submit_path": {
608 | "value": "//a[contains(@class, \"apply_submit\")]"
609 | }
610 | },
611 | {
612 | "url": "http://beijing.zhuangxiuyizu.cn/",
613 | "username_path": {
614 | "mode": "name",
615 | "value": "data[contact]"
616 | },
617 | "phone_path": {
618 | "mode": "name",
619 | "value": "data[mobile]"
620 | },
621 | "submit_path": {
622 | "mode": "class_name",
623 | "value": "head_btn"
624 | }
625 | },
626 | {
627 | "url": "http://www.sh-juyun.com/",
628 | "username_path": {
629 | "value": "//input[@class=\"g_itext\"]"
630 | },
631 | "phone_path": {
632 | "value": "//div[contains(@class, \"item_2\")]//input[@class=\"g_itext\"]"
633 | },
634 | "submit_path": {
635 | "value": "//div[@class=\"m\"]"
636 | }
637 | },
638 | {
639 | "url": "http://bj.xtuan.com/zhuangxiu/",
640 | "username_path": {
641 | "mode": "id",
642 | "value": "chenghu"
643 | },
644 | "phone_path": {
645 | "mode": "id",
646 | "value": "phone"
647 | },
648 | "submit_path": {
649 | "mode": "class_name",
650 | "value": "button"
651 | }
652 | },
653 | {
654 | "url": "https://shenzhen.dyrs.com.cn/",
655 | "username_path": {
656 | "mode": "name",
657 | "value": "name"
658 | },
659 | "phone_path": {
660 | "mode": "name",
661 | "value": "phone"
662 | },
663 | "message_path": {
664 | "mode": "name",
665 | "value": "acreage",
666 | "msg": "120"
667 | },
668 | "submit_path": {
669 | "value": "//button[@type=\"submit\"]"
670 | }
671 | },
672 | {
673 | "url": "https://www.idayu.cn/",
674 | "iframe": "iframe_company_mini",
675 | "username_path": {
676 | "mode": "id",
677 | "value": "ly_name"
678 | },
679 | "phone_path": {
680 | "mode": "id",
681 | "value": "ly_mobile"
682 | },
683 | "submit_path": {
684 | "mode": "id",
685 | "value": "submit_lword"
686 | }
687 | },
688 | {
689 | "url": "http://baiduloushi.com/plus/view.php?aid=653",
690 | "username_path": {
691 | "mode": "id",
692 | "value": "exampleInputName"
693 | },
694 | "phone_path": {
695 | "mode": "id",
696 | "value": "exampleInputPhone"
697 | },
698 | "submit_path": {
699 | "mode": "id",
700 | "value": "formsubmit"
701 | }
702 | },
703 | {
704 | "url": "http://www.sxxxpx.cn/mba/wps/p/002QG/",
705 | "phone_path": {
706 | "mode": "name",
707 | "value": "msg_userphone"
708 | },
709 | "postset": {
710 | "type": "script",
711 | "value": "$.msgSubmit('messageForm1')"
712 | }
713 | },
714 | {
715 | "url": "http://wap.gbhui.com/captcha_login.html",
716 | "rate": 3,
717 | "phone_path": {
718 | "mode": "id",
719 | "value": "loginName"
720 | },
721 | "submit_path": {
722 | "mode": "id",
723 | "value": "btnSendCode"
724 | }
725 | },
726 | {
727 | "url": "https://2car.haval.com.cn/quicklogin",
728 | "rate": 3,
729 | "phone_path": {
730 | "mode": "id",
731 | "value": "phone"
732 | },
733 | "submit_path": {
734 | "value": "//a[contains(@class, \"u-getcode\")]"
735 | }
736 | },
737 | {
738 | "url": "https://account.xiaomi.com/pass/serviceLogin",
739 | "rate": 3,
740 | "phone_path": {
741 | "mode": "id",
742 | "value": "username"
743 | },
744 | "submit_path": {
745 | "mode": "id",
746 | "value": "getSMSCode"
747 | }
748 | },
749 | {
750 | "url": "https://wse.com.cn/zh/register/",
751 | "rate": 3,
752 | "phone_path": {
753 | "mode": "id",
754 | "value": "mobileNumber"
755 | },
756 | "submit_path": {
757 | "mode": "id",
758 | "value": "send-verification-code-span"
759 | }
760 | },
761 | {
762 | "url": "https://user.mihoyo.com/#/register/mobile?cb_route=%2Faccount%2Fhome",
763 | "rate": 3,
764 | "phone_path": {
765 | "mode": "xpath",
766 | "value": "//div[@class=\"input-container\"]/input"
767 | },
768 | "submit_path": {
769 | "mode": "class_name",
770 | "value": "input-inner-btn"
771 | }
772 | },
773 | {
774 | "url": "http://www.zgtzmls.com/Home/User/reg.html",
775 | "rate": 3,
776 | "username_path": {
777 | "mode": "id",
778 | "value": "username"
779 | },
780 | "phone_path": {
781 | "mode": "id",
782 | "value": "mobile"
783 | },
784 | "submit_path": {
785 | "mode": "id",
786 | "value": "sendSms"
787 | }
788 | },
789 | {
790 | "url": "https://www.gsbankmall.com/index.php/Wap/index/userhome.html",
791 | "rate": 3,
792 | "phone_path": {
793 | "mode": "id",
794 | "value": "tel"
795 | },
796 | "submit_path": {
797 | "mode": "id",
798 | "value": "btn"
799 | }
800 | },
801 | {
802 | "url": "https://www.story-mark.com/login/code",
803 | "rate": 3,
804 | "phone_path": {
805 | "mode": "name",
806 | "value": "userPhone"
807 | },
808 | "submit_path": {
809 | "mode": "id",
810 | "value": "loginVcodeBtn"
811 | }
812 | },
813 | {
814 | "url": "https://login.51job.com/login.php?isjump=0&loginway=1&lang=c&from_domain=i&url=",
815 | "rate": 3,
816 | "phone_path": {
817 | "mode": "id",
818 | "value": "loginname"
819 | },
820 | "postset": {
821 | "type": "script",
822 | "value": "sendPhoneCode()"
823 | }
824 | },
825 | {
826 | "url": "http://passport.360eol.com/pc/passwordOrCodeLogin?from=http%3A%2F%2Fnanjing.360loushi.com%2F&appId=AOqn8WGeXHGZN23dF",
827 | "rate": 3,
828 | "preset": {
829 | "type": "click",
830 | "mode": "xpath",
831 | "value": "//ul[@class=\"loginNav\"]/li[last()]"
832 | },
833 | "phone_path": {
834 | "mode": "id",
835 | "value": "phoneOrEmailOne"
836 | },
837 | "submit_path": {
838 | "mode": "class_name",
839 | "value": "code"
840 | }
841 | },
842 | {
843 | "url": "https://account.geekbang.org/infoq/signup?redirect=https%3A%2F%2Fwww.infoq.cn%2Farticle%2FLZE%2aob52bASspjYu4c6Z",
844 | "rate": 3,
845 | "phone_path": {
846 | "mode": "name",
847 | "value": "cellphone"
848 | },
849 | "submit_path": {
850 | "mode": "class_name",
851 | "value": "code-btn"
852 | }
853 | },
854 | {
855 | "url": "http://user.tcl.com/proxy/login",
856 | "rate": 3,
857 | "phone_path": {
858 | "mode": "xpath",
859 | "value": "//input[contains(@class, \"J-phone\")]"
860 | },
861 | "submit_path": {
862 | "mode": "xpath",
863 | "value": "//span[contains(@class, \"J-GetPhoneCode\")]"
864 | }
865 | },
866 | {
867 | "url": "https://ims.pinduoduo.com/plus/",
868 | "rate": 3,
869 | "phone_path": {
870 | "mode": "xpath",
871 | "value": "//input[contains(@class, \"login-phone\")]"
872 | },
873 | "submit_path": {
874 | "mode": "xpath",
875 | "value": "//button[contains(@class, \"send-code-button\")]"
876 | }
877 | },
878 | {
879 | "url": "https://www.jianshu.com/users/password/mobile_reset",
880 | "rate": 3,
881 | "phone_path": {
882 | "mode": "id",
883 | "value": "mobile_number"
884 | },
885 | "submit_path": {
886 | "mode": "xpath",
887 | "value": "//a[contains(@class, \"js-send-code-button\")]"
888 | }
889 | },
890 | {
891 | "url": "https://www.51jingying.com/common/login.php?loginas=manager&loginway=1&returnUrl=https%3A%2F%2Fauction.51jingying.com%2F",
892 | "rate": 3,
893 | "phone_path": {
894 | "mode": "xpath",
895 | "value": "//input[contains(@class, \"common_login_username_input\")]"
896 | },
897 | "submit_path": {
898 | "mode": "class_name",
899 | "value": "common_login_send_phonecode"
900 | }
901 | }
902 | ]
903 |
--------------------------------------------------------------------------------