python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了

image

从企查查爬取企业信息,如果没有登录直接检索,邮箱、电话都被隐藏了

python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第1张图片
image

点击详情,部分信息同样会被隐藏

python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第2张图片
image
python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第3张图片
image

毕竟只是打工的,没钱不能任性!

想要查看更完整的企业信息,只有登录了。

python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第4张图片
image

但登录需要滑块验证,有时可能还会有图片验证码

python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第5张图片
image

但我干不过他们,老大不提供资金支持,那就只能另辟蹊径了。

突然看到右下角有三小只,不禁有点想法了

是不是可以通过授权的形式进行登录呢,那就开始吧

python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第6张图片
image

那就拿三小只试试:

python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第7张图片
image
python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第8张图片
image

首先通过微博登录,将该绑定的绑定,该授权的授权,避免登录后让验证

(微博授权 + 手机号绑定 + 竟然还让关注了公众号)

账号准备完毕,上代码

from selenium import webdriverimport timeimport xlwtimport sysimport impimp.reload(sys)# 伪装成浏览器,防止被识破option = webdriver.ChromeOptions()option.add_argument(    '--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"')driver = webdriver.Chrome(chrome_options=option)# 打开登录页面driver.get('https://www.qichacha.com/user_login')# 单击用户名密码登录的标签tag = driver.find_element_by_xpath('//*[@id="normalLogin"]')tag.click()tag = driver.find_element_by_xpath('//*[@class="btn-weibo m-l-xs"]')tag.click()# 将用户名、密码注入driver.find_element_by_id('userId').send_keys('微博账号')driver.find_element_by_id('passwd').send_keys('微博密码')time.sleep(3)  # 休眠,人工完成验证步骤,等待程序单击“登录”# 单击登录按钮btn = driver.find_element_by_xpath('//*[@id="outer"]/div/div[2]/form/div/div[2]/div/p/a[1]')btn.click()time.sleep(10)# inc_list = ['阿里巴巴', '腾讯', '今日头条', '滴滴', '美团']# inc_len = len(inc_list)driver.find_element_by_id('searchkey').send_keys("腾讯")# 单击搜索按钮srh_btn = driver.find_element_by_xpath('//*[@id="indexSearchForm"]/div/span/input')srh_btn.click()# 获取首个企业文本inc_full = driver.find_element_by_xpath('//*[@id="search-result"]/tr[1]/td[3]/a').textprint(inc_full)money = driver.find_element_by_xpath('//*[@id="search-result"]/tr[1]/td[3]/p[1]/span[1]').textprint(money)date = driver.find_element_by_xpath('//*[@id="search-result"]/tr[1]/td[3]/p[1]/span[2]').textprint(date)mail_phone = driver.find_element_by_xpath('//*[@id="search-result"]/tr[1]/td[3]/p[2]').textprint(mail_phone)addr = driver.find_element_by_xpath('//*[@id="search-result"]/tr[1]/td[3]/p[3]').textprint(addr)try:    stock_or_others = driver.find_element_by_xpath('//*[@id="search-result"]/tr[1]/td[3]/p[4]').text    print(stock_or_others)except:    pass# 获取网页地址,进入inner = driver.find_element_by_xpath('//*[@id="search-result"]/tr[1]/td[3]/a').get_attribute("href")driver.get(inner)# 单击进入后 官网 通过href属性获得:inc_web = driver.find_element_by_xpath(    '//*[@id="company-top"]/div[2]/div[2]/div[3]/div[1]/span[3]/a').get_attribute("href")print("官网:" + inc_web)print(' ')driver.close()

信息获取完整,ok

python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第9张图片
image
python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第10张图片
image
python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了_第11张图片
image

你可能感兴趣的:(python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了)