1.创建项目
D:\scrapy_1>scrapy startproject login1
D:\scrapy_1>cd login1
D:\scrapy_1\login1>scrapy genspider renren renren.com
2.输入https://www.baidu.com/打开人人网
2.png输入用户名和密码,在新打开的页面中点击检查,查看header里面的东西,
3.如下图所示,寻找cookies,并复制粘贴到下面代码中的cookies="xxx;xxx; xxx; xxx"的xxx;xxx; xxx; xxx里面
3.png找到登录需要携带的cookies,使用字典推导式和split来进行cookies的切割的写法
def start_requests(self):
cookies="xxx;xxx; xxx; xxx"
cookies={i.split("=")[0]:i.split("=")[1] for i in cookies.split("; ")}
4.打开人人网的个人资料页面,喜欢里面有个人爱好,音乐等,我想要获取这些东西
4.png下面附上scrapy中的spider里面的人人网里面要输入的代码
# -*- coding: utf-8 -*-
import re
import scrapy
class RenrenSpider(scrapy.Spider):
name = 'rr'
allowed_domains = ['renren.com']
start_urls = ['http://www.renren.com/']
def start_requests(self):
cookies="xxx;xxx; xxx; xxx"
cookies={i.split("=")[0]:i.split("=")[1] for i in cookies.split("; ")}
yield scrapy.Request(
self.start_urls[0],
callback=self.parse,
cookies=cookies
)
def parse(self, response):
yield scrapy.Request("http://www.renren.com/968627064/profile?v=info_timeline",callback=self.parse_detail)
def parse_detail(self,response):
print(response.body.decode())
爬取情况如下
1.png
如果想将音乐的如果有来生,爱好之类的东西进行提取保存,可以使用xpath,正则,bs4等来进行解析。
正则
#正则
import re
hobbies = re.findall("xx(.*?)x",response.body.decode())
print(bobbies)
xpath
#xpath
hobbies=response.xpath("XX").extract_first()
网友评论