登陆人人网爬取个人信息
创建scrapy工程
1
2
|
cd C:\Spider_dev\app\scrapyprojects
scrapy startproject renren
|
创建定向爬虫
1
2
|
cd renren
scrapy genspider Person renren.com
|
查看目录结构
定义items
1
2
3
4
5
6
|
class RenrenItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
sex = scrapy.Field() # 性别
birthday = scrapy.Field() # 生日
addr = scrapy.Field() # 家乡
|
编写爬虫
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# -*- coding: gbk -*-
import scrapy
# 导入items中的数据项定义模块
from renren.items import RenrenItem
class PersonSpider(scrapy.Spider):
name = "Person"
allowed_domains = [ 'renren.com' ]
start_urls = [ 'http://www.renren.com/913043576/profile?v=info_timeline' ]
def start_requests(self):
return [scrapy.FormRequest( 'http://www.renren.com/PLogin.do' ,
formdata={ 'email' : '15201417639' , 'password' : 'kongzhagen.com' },
callback=self.login)]
def login(self,response):
for url in self.start_urls:
yield self.make_requests_from_url(url)
def parse(self, response):
item = RenrenItem()
basicInfo = response.xpath( '//div[@id="basicInfo"]' )
sex = basicInfo.xpath( 'div[2]/dl[1]/dd/text()' ).extract()[0]
birthday = basicInfo.xpath( 'div[2]/dl[2]/dd/a/text()' ).extract()
birthday = '' . join (birthday)
addr = basicInfo.xpath( 'div[2]/dl[3]/dd/text()' ).extract()[0]
item[ 'sex' ] = sex
item[ 'addr' ] = addr
item[ 'birthday' ] =birthday
return item
|
解释:
allowed_domains:定义允许访问的域名
start_urls:登陆人人网后访问的URL
start_requests:程序的开始函数,FormRequest定义了scrapy如何post提交数据,返回函数或迭代器,回调函数login。
login:登陆人人网之后的爬虫处理函数,make_requests_from_url处理start_urls中的url,其默认的回调函数为parse
parse:处理make_requests_from_url函数返回的结果
执行爬虫
1
|
scrapy crawl Person -o person.csv
|
转载于:https://www.cnblogs.com/HomeG/p/10527107.html
登陆人人网爬取个人信息相关推荐
- 使用Python和selenium的Chromedriver模拟登陆爬取网站信息(beautifulsoup)
爬取的信息很多,所以需要设置断点,在程序重启时能继续爬取.并且能在断掉之后自动重启. 1.setting.py 对爬取的常量进行设置 """ 基本信息设置 "& ...
- [python应用案例] 一.BeautifulSoup爬取天气信息并发送至QQ邮箱
前面作者写了很多Python系列文章,包括: Python基础知识系列:Python基础知识学习与提升 Python网络爬虫系列:Python爬虫之Selenium+Phantomjs+CasperJ ...
- 爬虫项目三:爬取选课信息
爬虫项目三:爬取whut-jwc选课信息 项目实现:主要获得通识选修.个性选课.英语体育选课的课程信息 核心: 1.实现网页登陆 2.爬取课程信息 一.网页信息登陆 from selenium imp ...
- JAVA使用HttpClient模拟登录正方教务系统,爬取学籍信息和课程表成绩等,超详细登录分析和代码注解
目录 前言 分析 代码实现 第一次GET POST登录 第二次Get 第三次GET 第四次GET 第五次GET 测试 完整代码 前言 最近在做一个APP,需要获取我们学校--武汉纺织大学皇家停水断电断 ...
- python爬取网页信息
最近在学习python,发现通过python爬取网页信息确实方便,以前用C++写了个简单的爬虫,爬取指定网页的信息,代码随便一写都几百行,而要用python完成相同的工作,代码量相当少.前几天看到了一 ...
- python刷新页面_Python模拟浏览器爬取天猫信息
由于工作需要,需要提取到天猫400个指定商品页面中指定的信息,于是有了这个爬虫.这是一个使用 selenium 爬取天猫商品信息的爬虫,虽然功能单一,但是也算是 selenium 爬虫的基本用法了. ...
- 以下用于数据存储领域的python第三方库是-Python3爬虫学习之MySQL数据库存储爬取的信息详解...
本文实例讲述了Python3爬虫学习之MySQL数据库存储爬取的信息.分享给大家供大家参考,具体如下: 数据库存储爬取的信息(MySQL) 爬取到的数据为了更好地进行分析利用,而之前将爬取得数据存放在 ...
- MATLAB实战系列(二十八)-用matlab爬取火车票信息
前言 之前博主使用matlab爬取火车票信息,博主觉得这个爬取过程还蛮有趣的,所以和大家分享一下如何用matlab爬取火车票信息. 比如我想要获取以下这些车次的始发站和终点站信息, 大家第一反应可能会 ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结
这篇文章主要是介绍Python爬取网页信息时,经常使用的正则表达式及方法.它是一篇总结性文章,实用性比较大,主要解决自己遇到的爬虫问题,也希望对你有所帮助~ 当然如果会Selenium基于自动化测试爬 ...
最新文章
- php 字典 枚举,秒爆十万字典:奇葩技巧快速枚举“一句话后门”密码
- 从零单排学Redis【青铜】
- 实行计算机分类标识管理的根本目的,会计信息系统试卷A及答案
- 龙的建模竟然能建成这个样子:向大佬低头
- HttpOperater
- 【算法分析与设计】实验 分治算法解决中位数问题
- Spring @RestController、@Controller区别
- 拓端tecdat|python在Scikit-learn中用决策树和随机森林预测NBA获胜者
- 【图像隐写】基于matlab GUI DWT+SVD数字水印【含Matlab源码 606期】
- BigGAN进化出最强形态BigBiGAN:重回表示学习,GAN之父点赞
- 全国计算机建模三等奖,喜报 | 建院学子喜获2019年第十三届全国大学生结构设计竞赛三等奖...
- python将红底证件照转成蓝底
- mstar Android解锁,液晶电视维修之Mstar方案从强刷包提取引导的方法
- springboot 整合谷歌 gRPC
- JSP课程设计——民航售票管理系统
- Java问题---扑克牌
- 11、异常 异常解决方案
- python绘制相频特性曲线_数据分析之Matplotlib和机器学习基础
- 网站托管收费是否有标准
- PayPal取消了连连支付快捷提现,我是如何提现到国内的?