资源简介
此资源仅供学习用途,当前selenium都是基于无头模式的firefox或者chrome等浏览器进行爬虫抓取,天眼查的反爬技术算是很不错的,仅仅用于个人学习用,并不可以进行大数据的爬取 技术: python selenium 爬虫 模拟登陆 xpath css选择器 可自己装proxy 想添加翻页功能可以参考里面的代码模板 也可以加我QQ问
代码片段和文件信息
#!/usr/bin/python
# -*- coding:utf-8 -*-
# author: Jola
# datetime:2018/4/20 17:15
# software-version: python 3.5
import time
from selenium import webdriver
from selenium.webdriver import Firefox
class GetCompanyInfo(object):
“““
爬取天眼查下的企业的信息
“““
def __init__(self):
“““
初始化爬虫执行代理,使用firefox访问
“““
self.username = ‘‘
self.password = ‘‘
self.options = webdriver.FirefoxOptions()
self.options.add_argument(‘-headless‘) # 无头参数
self.geckodriver = r‘geckodriver.exe‘
self.driver = Firefox(executable_path=self.geckodriver firefox_options=self.options)
self.start_url = ‘https://www.tianyancha.com‘
def test(self):
“““
调试专用
:return:
“““
start_url = ‘‘
self.driver.get(start_url)
for k v in cookies.items():
self.driver.add_cookie({
‘name‘: k
‘value‘: v
})
time.sleep(1)
print(self.driver.page_source)
self.driver.close()
def login(self):
“““
登录并检查状态
:return:
“““
try:
self.driver.get(self.start_url)
print(self.driver.get_cookies())
username = self.index_login()
username_pattern = username[:3] + ‘ **** ‘ + username[-4:]
print(username_pattern)
page = self.driver.page_source
is_login = page.find(username_pattern)
print(is_login)
if is_login != -1:
print(‘登录成功‘)
except Exception as e:
print(e)
def index_login(self):
“““
主页下的登录模式
:return:
“““
get_login = self.driver.find_elements_by_xpath(‘//a[@class=“media_port“]‘)[0] # 登录/注册
print(get_login.text)
# url为login的input
get_login.click()
login_by_pwd = self.driver.find_element_by_xpath(‘//div[@class=“bgContent“]/div[2]/div[2]/div‘) # 切换到手机登录
print(login_by_pwd.text)
login_by_pwd.click()
input1 = self.driver.find_element_by_xpath(‘//div[@class=“bgContent“]/div[2]/div/div[2]/input‘) # 手机号码
input2 = self.driver.find_element_by_xpath(‘//div[@class=“bgContent“]/div[2]/div/div[3]/input‘) # 密码
print(input1.get_attribute(‘placeholder‘))
print(input2.get_attribute(‘placeholder‘))
username password = self._check_user_pass()
input1.send_keys(username)
input2.send_keys(password)
login_button = self.driver.find_element_by_xpath(‘//div[@class=“bgContent“]/div[2]/div/div[5]‘) # 点击登录
print(login_button.text)
time.sleep(1) # 必须等待否则鉴别是爬虫
login_button.click()
return username
def _check_user_pass(self):
“““
检查是否有帐号密码
:return:
“““
if self.username and self.passw
相关资源
- 12306火车班次.zip
- Python-京东抢购助手包含登录查询商品
- python网络爬虫获取景点信息源码
- selenium中python包&对应版本的firefox
- python爬取维基百科程序语言消息盒(
- python新浪微博爬虫
- 12306爬虫实现
- 中国裁判文书网爬虫
- Python爬虫相关书籍.zip
- 豆瓣电影排行爬虫
- 疫情数据爬虫并绘制柱状图.py
- python新浪微博爬虫,爬取微博和用户
- Python数据爬虫及可视化分析
- selenium最新版2.53.1---python
- 一套最新价值1680元的python爬虫实战全
- 测试工程师相关学习视频(包含pyth
- 11-Python爬虫工程师-App抓取进阶
- 基于10000网页python搭建搜索引擎课程设
- 法律判决文书python爬虫、以及数据处
- selenium3离线安装包whl和setup安装包.z
- 一些python自动化代码
- selenium python第三版基础入门教程
- python新浪微博爬虫,爬取微博和用户
- Python网络爬虫实战.epub
- Python爬虫、Flask框架与ECharts实现数据
- Python爬虫入门到实战 (二花) PDF版
- python网络爬虫爬取整个网页
- Python-利用Python图虫网摄影作品
- ScrapyMySQL爬取链家网中北京地区租房信
- 学习python爬虫看一篇就足够了之爬取
评论
共有 条评论