selenium框架爬取p2p问题平台信息,需加载点击页面的。

@TOC
selenium框架爬取p2p问题平台信息

# -*- coding: utf-8 -*-
"""
Created on Tue Dec 10 07:03:57 2019

@author: heart
"""


import random
from selenium import webdriver
import re
import time 
import os
import warnings
import pymongo

warnings.filterwarnings('ignore')

brower = webdriver.Chrome()
	#手动输入ui的网址,不然会被反爬

def get_data(ui,table):
    
    brower.get(ui)
    p=0
    while p<=295:

        brower.find_element_by_class_name('load').click()
        sleeptime = random.randint(3,5)
        time.sleep(sleeptime)
        print('加载第%i次,休息时间:sleep.....%i' %(p,sleeptime))
        p += 1
    #第一步先加载完所有页面
    
    infos = brower.find_elements_by_class_name('tr-click')
    	#列表存储
    lst = []
    for li in infos:
        dic = {}
        dic['发生日期'] = li.find_element_by_class_name('col1').text
        dic['平台名称'] = li.find_element_by_class_name('a-click').text
        dic['所在地区'] = li.find_element_by_class_name('col3').text
        dic['上线日期'] = li.find_element_by_class_name('col4').text
        lst.append(dic)
        table.insert_one(dic)
        	#实时存储mongodb。如不需要的话,可以注释掉,并删除table参数即可
        print('抓取数据%i条' % (len(lst)))
	#第二步,循环抓取关键信息
			
    return lst
    
if __name__ == '__main__':
    
    ui = 'https://www.p2peye.com/shuju/wtpt/'
    myclient = pymongo.MongoClient('mongodb://localhost:27017/')
    db = myclient['网贷天眼']
    datatable = db['p2p平台数据']
    
    get_data(ui,datatable)
    #获取数据


第一次实践成功。。。
经过一次修改。
加载效果如下图。。。函数中的间隔时间是一定需要的,不然铁定被识别反爬。
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值