初学python爬虫,仅用学到的几个库尝试爬取网贷之家的平台信息数据,并保存到excel中。

爬取的过程中遇到了各种各样的问题,通过各种查资料最终解决,但是感觉自己的代码不够简洁,可能是学的东西还是太少吧。

要爬取的页面:https://www.wdzj.com/dangan/

要爬取的数据:平台名称、评级、参考利率、待还余额、注册地、上线时间、网友印象、综合评分

代码如下:

import requests
import pandas as pd
import time
from lxml import etree
from fake_useragent import UserAgentheaders ={'Cookie':'scrolltop=552; __jsluid=f5d2368b87c3beabdb0c1099f713f1fa; gr_user_id=a8f3d551-d6ad-44f7-8f83-37a503283b0d; tp_sid=ca92258bad801b1c; _ga=GA1.2.291064707.1548835781; NTKF_T2D_CLIENTID=guestE792E029-8509-4B85-3AFC-FFA3B934E6B8; _gid=GA1.2.1800137819.1552456081; advidadcolumn47=0; wdzj_session_source=https%253A%252F%252Fwww.wdzj.com%252F; WDZJptlbs=1; PHPSESSID=4obamvmbpkj4eotcm2rnlcpda6; Hm_lvt_9e837711961994d9830dcd3f4b45f0b3=1550477146,1552360842,1552456081,1552544888; _pk_ref.1.b30f=%5B%22%22%2C%22%22%2C1552544888%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D3vOZq_zVasG2oSVnLrAOjnRgUZT6t7iIvwQdkzLYRjhjcfsNU_6nAJlMyFtDMckIXqFNKLf3dGBGnKLX0hVBAa%26wd%3D%26eqid%3Da485e6f2000324e6000000035c889986%22%5D; _pk_ses.1.b30f=*; gr_session_id_1931ea22324b4036a653ff1d3a0b4693=c1ef10b0-eb97-430d-88f2-2dce5adfd197; gr_session_id_1931ea22324b4036a653ff1d3a0b4693_c1ef10b0-eb97-430d-88f2-2dce5adfd197=true; nTalk_CACHE_DATA={uid:kf_10132_ISME9754_guestE792E029-8509-4B,tid:1552544888587756}; _pk_id.1.b30f=a2b510eb78e2b95e.1525657632.83.1552545395.1552544888.; Hm_lpvt_9e837711961994d9830dcd3f4b45f0b3=1552545395',}file_name = []#给每一个参数设定列表存储
file_pingji = []
file_lilv = []
file_yue = []
file_address = []
file_time = []
file_pingfen = []
file_yinxiang = []def get_p2p_info(page):#循环爬取的函数for j in range(page):ua = UserAgent()#随机生成UAheaders['User-Agent']=ua.randomurl = 'https://www.wdzj.com/dangan/search?filter=e1&currentPage={}'.format(j+1)response = requests.get(url,headers = headers).texts = etree.HTML(response)file_name1 = s.xpath('//*[@id="showTable"]/ul/li/div[1]/h2/a/text()')file_pingji1 = []#有些平台没有评级这一项,在进行excel存储是就会被后面平台的评级覆盖,所以这里使用列表来存储for k in range(1,26):file_pingji2 = s.xpath('//*[@id="showTable"]/ul/li[{}]/div[1]/div[1]/em/strong/text()'.format(k))file_pingji1.append(file_pingji2)file_lilv1 = s.xpath('//*[@id="showTable"]/ul/li/div[2]/a/div[1]/label/em/text()')file_yue1 = s.xpath('//*[@id="showTable"]/ul/li/div[2]/a/div[2]/text()')file_address1 = s.xpath('//*[@id="showTable"]/ul/li/div[2]/a/div[3]/text()')file_time1 = s.xpath('//*[@id="showTable"]/ul/li/div[2]/a/div[4]/text()')file_pingfen1 = s.xpath('//*[@id="showTable"]/ul/li/div[2]/a/div[5]/strong/text()')file_yinxiang1 = []#网友印象是3条数据,采用列表存储for i in range(1,26):file_yinxiang2 = s.xpath('//*[normalize-space(@id)="showTable"]/ul/li[{}]/div[2]/a/div[5]/span/text()'.format(i))file_yinxiang1.append(file_yinxiang2)  file_name.extend(file_name1)file_pingji.extend(file_pingji1)file_lilv.extend(file_lilv1)file_yue.extend(file_yue1)file_address.extend(file_address1)file_time.extend(file_time1)file_pingfen.extend(file_pingfen1)file_yinxiang.extend(file_yinxiang1)print('正在爬取第%s页……'%str(j+1))time.sleep(10)if __name__ == '__main__': get_p2p_info(42)      df = pd.DataFrame()df["平台名称"]=pd.Series(file_name)df["评级"]=pd.Series(file_pingji)df["利率"]=pd.Series(file_lilv)df["借贷余额"]=pd.Series(file_yue)df["注册地"]=pd.Series(file_address)df["上线时间"]=pd.Series(file_time)df["网友印象"]=pd.Series(file_yinxiang)df["评分"]=pd.Series(file_pingfen)df.to_excel('wdzj_p2p.xlsx')

最终效果:我在爬完之后对excel进行了数据整理,进行了简单的分析,所以这个表并不是原表了,但不影响。

网贷之家 python 爬取公开的平台数据相关推荐

  1. python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...

  2. Python爬取京东任意商品数据实战总结

    利用Python爬取京东任意商品数据 今天给大家展示爬取京东商品数据 首先呢还是要分思路的,我分为以下几个步骤: 第一步:得到搜索指定商的url 第二步:获得搜索商品列表信息 第三步:对得到的商品数据 ...

  3. python 爬取24小时天气数据

    python 爬取24小时天气数据 1.引入相关库 # -*- coding: utf-8 -*- import requests import numpy as np 关于爬虫,就是在网页上找到自己 ...

  4. python实战|python爬取58同城租房数据并以Excel文件格式保存到本地

    python实战|python爬取58同城租房数据并以Excel文件格式保存到本地 一.分析目标网站url 目标网站:https://cq.58.com/minsuduanzu/ 让我们看看网站长啥样 ...

  5. python爬取微博热搜数据并保存!

    主要用到requests和bf4两个库将获得的信息保存在d://hotsearch.txt下importrequests;importbs4mylist=[]r=requests.get(ur- 很多 ...

  6. 利用python爬取58同城简历数据

    利用python爬取58同城简历数据 最近接到一个工作,需要获取58同城上面的简历信息(http://gz.58.com/qzyewu/).最开始想到是用python里面的scrapy框架制作爬虫.但 ...

  7. 利用python爬取58同城简历数据_利用python爬取58同城简历数据-Go语言中文社区

    利用python爬取58同城简历数据 最近接到一个工作,需要获取58同城上面的简历信息(http://gz.58.com/qzyewu/).最开始想到是用python里面的scrapy框架制作爬虫.但 ...

  8. python爬取虎牙弹幕礼物数据

    python爬取虎牙弹幕礼物数据 查看官方文档 找到弹幕传输的方式 生成websocket对应的参数 第一步: 第二步: 调通websocket 建立链接 获取数据和保持心跳 附上完整代码 注: 查看 ...

  9. 爬取电商平台数据,python爬取某维商品数据

    本次内容: 爬取电商平台数据,python爬取某维商品数据 课程亮点 动态数据抓包演示 json数据解析 requests模块的使用 保存csv 环境介绍 python 3.8 [最好用和老师一样的版 ...

最新文章

  1. python filter过滤器的使用_如何在Python 3中使用过滤器、映射和精简
  2. ajax 取值 返回map_springboot|前端发ajax请求到后台Controller及常见的坑
  3. 二项分布和泊松分布的关系
  4. [系统安全] 三.IDA Pro反汇编工具初识及逆向工程解密实战
  5. Probability(概率) vs Likelihood(似然)
  6. 实用的编程网站—良好的开端
  7. 关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
  8. 程序关闭是总是出异常解决方法
  9. Canvas坐标轴中的Y轴距离是X轴的两倍
  10. java 对象转json忽略某个属性
  11. 基于SPSS的交叉表分析
  12. 工单、工艺路线及工作中心的表结构
  13. s3c2440的时钟体系
  14. EfficientFormer | 苹果手机实时推理的Transformer模型,登顶轻量化Backbone之巅
  15. 穆迪任命Shivani Kak为投资者关系主管,David Hogan为临时财务主管
  16. 读Zepto源码之Deferred模块
  17. 莫队算法 ( MO's algorithm )
  18. windows下,查看apk的包名、以及查找appActivity(aapt命令)
  19. EXCEL 单元格如何显示输入的首个单引号字符
  20. Visual Studio番茄助手 Visual Assist X for VS2015-2019

热门文章

  1. Allegro PCB Design GXL (legacy) - 铺网格铜
  2. 微软必应成功预测法国队夺冠
  3. 【秋钓皮皮】 奔跑吧,皮皮!(有图了)
  4. 工业交换机智能监控管理方案
  5. 一对多GRE隧道配置
  6. ur机器人编程-程序流程
  7. NullPointerException空指针异常
  8. STM32毕业设计题目大全 选题推荐
  9. Macbook如何打开Chrome调试工具Developer Tools
  10. 1083 Cantor表