利用scrapy模拟登陆人人网,笔者本打算抓取一下个人页面新鲜事,感觉这个网站越做越差,都懒得抓里面的东西了。这里仅仅模拟人人网登陆,说明一下scrapy的POST请求问题。

人人网改版之后,反爬措施是明显加强了呀,post请求发送的东西增加了很多东西;

不过,笔者小测试了一下,发现改版前的网站接口居然都在,而且都是可用的!!!

因此,直接给出post请求提交的url:http://www.renren.com/PLogin.do

提交参数为:mail(账号)和password(密码)!

具体如何创建项目、创建爬虫文件、编写保存字段以及修改配置文件等,就不多写,参见之前的链接即可:

http://www.cnblogs.com/pythoner6833/p/9012695.html

这个链接以一个scrapy小项目为例,详细解释了scrapy创建项目到代码编辑过程的所有小细节。

这里仅仅贴出抓取人人网时,spider部分的代码:

# -*- coding: utf-8 -*-
import scrapy class RenrenSpider(scrapy.Spider):
name = 'renren'
# allowed_domains = ['renren.com']
# start_urls = ['http://renren.com/'] # 重写start_requests方法,提交post请求
def start_requests(self): # post提交的url
url = 'http://www.renren.com/PLogin.do'
yield scrapy.FormRequest(
url=url,
# 提交的数据
formdata={
"email": "xxx", # 替换为自己的账号
"password": "ddd", # 替换为自己的密码
},
# 登录后回调的函数
callback=self.parse
) """
人人网在登录之后会默认跳转到直播页面(什么鬼,感觉这个网站越做越垃圾,不过反爬都是加强了很多)
"""
def parse(self, response):
print(response.body.decode())

print的就是登陆成功后的页面源码,可以根据自己的需要,编写xpath来提取自己感兴趣的数据并保存。这里笔者是已经成功登录了。

运行结果:

最新文章

  1. zabbix安装
  2. Leetcode: Ternary Expression Parser
  3. RecyclerView的万能分割线
  4. c# ICSharpCode.SharpZipLib.Zip实现文件的压缩
  5. NeHe OpenGL教程 第十七课:2D图像文字
  6. SurfaceView 和 TextureView
  7. light oj 1116 - Ekka Dokka
  8. 【python】求水仙数
  9. 搜索所有的路径-矩阵运算-暴力-ACM
  10. Wireshark 使用教程
  11. Comet学习资料
  12. COJ 1059 - Numeric Parity 位操作
  13. null与undefined的比较
  14. matlab获取文件夹中的所有文件名(dir)
  15. python自学日志--基础篇(1)
  16. Linux命令-基本操作和软件安装
  17. Android stadio 生成项目 Plugin with id 'com.android.application' not found
  18. 关于numpy
  19. SpringBoot @Async注解失效分析
  20. 第三方工具Jdom解析XML

热门文章

  1. (一) kinect概述
  2. Oracle ADG环境搭建
  3. ThinkCMF X1.6.0-X2.2.3框架任意内容包含漏洞分析复现
  4. CAT客户端如何从Apollo中读取配置?
  5. 这次,我是如何监控服务器CPU和内存的
  6. 相关推导式-Python
  7. [springboot 开发单体web shop] 5. 用户登录及首页展示
  8. jdbc 加载数据库驱动如何破坏双亲委托模式
  9. css3 mask遮罩动画(照明灯效果)
  10. PHP判断是否为手机端的方法