爬取人人贷

import sys 
reload(sys) 
sys.setdefaultencoding("utf-8")  
import urllib2    
import urllib 
import re 
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

url='https://www.we.com/loan#page-'
title=[]
amount=[]
interest=[]
months=[]
for i in range(1,52):
    url = url + str(i)
    myPage = urllib2.urlopen(url).read()
    html=myPage.decode('utf-8')
    a=re.findall(r'"title":(.*?),',html) #提取title字段
    b=re.findall(r'"amount":(.*?),',html)
    c=re.findall(r'"interest":(.*?),',html)
    d=re.findall(r'"months":(.*?),',html)
    title.extend(a)
    amount.extend(b)
    interest.extend(c)
    months.extend(d)

#转换字段类型
rrd=pd.DataFrame({'title':title,'amount':amount,'interest':interest,'months':months})
rrd[['amount','interest','months']]=rrd[['amount','interest','months']].astype(np.float64)
title_count=rrd.groupby('title')['amount'].agg('count')
title_sum=rrd.groupby('title')['amount'].agg('sum')
#print title_count
#print title_sum

plt.rc('font', family='STXihei', size=10)
a=np.array([1,2,3,4,5])
plt.figure()
#此处双向条形图无法实现,存疑。是否可以建2张图,然后共用y轴
plt.barh(a,title_count, color = 'r',align='center', alpha = .5)
plt.barh(a,-title_sum, color = 'b',align='center', alpha = .5)
plt.ylabel('贷款用途分类')
plt.title('贷款用户金额及笔数')
plt.xticks(a,(''))
plt.yticks(a,('扩大生产/经营','教育培训','日常生活消费','装修','资金周转'))
plt.show()
### 回答1: Python登录获取cookies,可以使用requests库来实现。具体步骤如下: 1. 导入requests库 ```python import requests ``` 2. 构造登录表单数据 ```python data = { 'email': '你的邮箱', 'password': '你的密码' } ``` 3. 发送登录请求,获取cookies ```python session = requests.Session() response = session.post('http://www.renren.com/PLogin.do', data=data) cookies = session.cookies.get_dict() ``` 4. 使用cookies爬取人人网数据 ```python headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' } url = 'http://www.renren.com/xxxxx' # 你要爬取的页面链接 response = requests.get(url, headers=headers, cookies=cookies) ``` 其中,'xxxxx'是你要爬取的页面链接的后缀,需要根据实际情况进行替换。另外,headers是请求头,用于模拟浏览器访问,也需要根据实际情况进行修改。 ### 回答2: 在 python 中使用 cookies 登录人人网,可以通过以下步骤实现。 1. 首先,通过 requests 库发送登录请求,获取到登录页面的源代码。该源代码中应包含登录所需的各种参数,如表单的各个字段、提交 URL 等。 2. 接着,从源代码中提取出登录时需要提交的表单数据,并将其封装成一个 Python 字典。其中,用户名和密码字段是必要的。若还需要其他字段,则需要进一步分析源代码。 3. 使用该字典向提交 URL 发送 POST 请求,实现登录。登录成功后,服务器会返回一个名为 cookies 的令牌。此时,需要通过 requests.Session() 创建一个会话对象,并将该令牌存入其中。 4. 使用该会话对象发起 GET 或 POST 请求,即可带上存储在 cookies 中的令牌,从而实现对人人网的数据抓取。 5. 对于一些特殊情况,比如人人网反爬虫机制比较严格等,可能需要进行更加复杂的操作,比如模拟鼠标行为、使用代理 IP 等来规避反爬虫措施。 总的来说,利用 Python 来登录并获取人人网数据,需要熟练掌握 requests、bs4、re 等基本模块,同时还需要对网页源代码有一定的分析和解析能力。此外,还需要具备良好的编程能力和耐心,不断测试和尝试,逐渐掌握更加高效和稳定的爬虫方式。 ### 回答3: 人人网是中国最大的社交网站之一,用户数量众多。如果我们想要获取这些用户的数据,就需要通过爬虫程序登录人人网,获取登录后的cookies,然后通过cookies实现我们所需数据的爬取。 Python登录获取cookies的过程分为以下几个步骤: 第一步,发送登录请求。在Python中,我们可以通过requests模块实现登录操作,使用POST方法向人人网发送用户账号和密码,模拟用户登录操作。 第二步,获取cookies。在用户登录成功之后,我们需要获取登录成功后响应中的cookies信息。可以通过r.cookies.get_dict()方法获取cookies的参数,再将cookies的参数加入请求头信息中,这样就能够模拟用户登录。 第三步,爬取数据。在获取到cookies后,我们可以通过requests模块发送request请求,爬取用户所需的数据。这个过程与普通的爬取过程相同,只不过在请求头中需要携带上面获取到的cookies信息。 需要注意,我们在爬取人人网数据时,需要遵循相关的爬虫道德规范,不要进行暴力爬取,否则会被人人网封禁IP。同时,人人网限制了用户的数据爬取,只允许爬取公开数据,而不允许爬取用户的隐私数据。 总之,通过Python登录获取人人网的cookies,可以实现对人人网用户数据的爬取。当然,在使用爬虫程序的时候,我们应该遵循相关的爬虫道德规范,避免被封禁IP,同时也应该保护用户的隐私安全。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值