Scrapy学习笔记(3)爬取知乎首页问题及答案

目标:爬取知乎首页前x个问题的详情及问题指定范围内的答案的摘要

power by:

  1. Python 3.6
  2. Scrapy 1.4
  3. json
  4. pymysql

项目地址:https://github.com/Dengqlbq/ZhiHuSpider.git


Step 1——相关简介

本文将注意力放在代码实现上,代码思路的描述将另开一文
代码思路:http://blog.csdn.net/sinat_34200786/article/details/78568894


Step 2——模拟登录

知乎如果不登录是爬取不到信息的,所以首先要做的就是模拟登录
主要步骤:

获取xsrf及验证码图片
填写验证码提交表单登录
登录是否成功

获取xsrf及验证码图片:

def start_requests(self):

    yield scrapy.Request('https://www.zhihu.com/', callback=self.login_zhihu)

def login_zhihu(self, response):
    """ 获取xsrf及验证码图片 """
    xsrf = re.findall(r'name="_xsrf" value="(.*?)"/>', response.text)[0]
    self.headers['X-Xsrftoken'] = xsrf
    self.post_data['_xsrf'] = xsrf

    times = re.findall(r'
                    
                    

你可能感兴趣的:(Scrapy,爬虫)