Selenium+WebBrowser爬取手机用户注册情况

##根据号码查询是否在此网站上注册过

#新浪验证

#!/usr/bin/env python
# -*- coding:utf-8 -*-

from urllib import parse
import requests
from urllib3 import request

header_dict = {
    'Accept': '*/*',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
    'Connection': 'keep-alive',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Cookie': 'cookies啦啦啦',
    'Host': 'login.sina.com.cn',
    'Origin': 'https://login.sina.com.cn',
    'Referer': 'https://login.sina.com.cn/signup/signup?entry=homepage',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
}
url = 'https://login.sina.com.cn/signup/check_user.php'

textmod = {
    'name': '',
    'format': 'json',
    'from': 'mobile'}

numbers = ['123456789',]
for n in numbers:
    textmod = {
        'name': n,
        'format': 'json',
        'from': 'mobile'}
    textmod = parse.urlencode(textmod)
    response = requests.post(url=url, data=textmod, headers=header_dict)
    status = response.status_code
    r = response.content.decode()
    if r == '{"retcode":100000}':
        print(str(n) + ':新浪未注册用户')
    else:
        print(str(n) + ':新浪已注册用户')

#百度验证

#!/usr/bin/env python
# -*- coding:utf-8 -*-

from selenium import webdriver
import time

numbers = ['123456789',]

driver = webdriver.Chrome()
driver.get(
    "https://passport.baidu.com/v2/?reg&tt=1542702073936&overseas=undefined&gid=C7BD8C5-07A6-42B1-B5ED-1A03501EE953&tpl=mn&u=https%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3Dselenium%2520browser%2520switch%26rsv_spt%3D1%26rsv_iqid%3D0xb0be0d1500035d17%26issp%3D1%26f%3D3%26rsv_bp%3D1%26rsv_idx%3D2%26ie%3Dutf-8%26rqlang%3Dcn%26tn%3Dbaiduhome_pg%26rsv_enter%3D1%26inputT%3D9601%26rsv_t%3D8573l6v0EM72JdhLYWt4DnBqqXDC2XR6oDbFsnby7fB2A0k6R5XJiFkytHY9SMpjYuTf%26oq%3Dselenium%252520script%252520%2525E8%2525AF%2525B7%2525E6%2525B1%252582%26rsv_pq%3Dff50eb2d0004bc73%26sug%3Dselenium%252520browser%26rsv_sug3%3D75%26rsv_sug1%3D44%26rsv_sug7%3D100%26rsv_n%3D1%26rsv_sug2%3D0%26prefixsug%3Dselenium%252520browser%252520switch%26rsp%3D0%26rsv_sug4%3D181554")
login_windows = driver.current_window_handle
try:
    time.sleep(3)
    for i in numbers:
        driver.refresh()
        phone = driver.find_element_by_xpath("//input[@id='TANGRAM__PSP_3__phone']")
        pwd = driver.find_element_by_xpath('//input[@id="TANGRAM__PSP_3__password"]')
        phone.click()
        time.sleep(1)
        phone.send_keys(i)
        time.sleep(1)
        pwd.click()
        time.sleep(1)
        flag = False
        try:
            driver.find_element_by_xpath('//div[contains(text(), "该手机已注册,可以通过密码或短信快捷登录。")]')
            flag = True
        except:
            flag = False
        if flag:
            print(str(i)+'号码已注册百度账号')
            driver.find_element_by_xpath('//div[@class="tang-pass-pop-confirmWidget"]//a[@class="close-btn" and position()=last()]').click()
        else:
            print(str(i)+'号码未注册百度账号')
        phone.clear()
finally:
    print("something wrong!")

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值