CrawlSpider爬取拉勾网,解决302问题。

前言:

    在慕课上买了个付费视频,里面有一章是讲用CrawlSpider来爬取拉勾网,可能因为视频录的时候比较早,老师没加headers,也没用cookie所有的拉勾的工作的详情页面就全部200了,但是自己动手的时候,怎么都是302,去网上查了查,说是加上cookie和headers就可以了,自己动手试了试还真是成功了,拿出来和大家分享一下

1.Selenium获得登陆的cookie:

    首先第一步是要拿到cookie,这里采用selenium模拟登陆浏览器的方法,简单粗暴,就是调试的时候比较慢。直接上源码了,没啥好理解的:

 

#-*- coding:utf-8 -*-
__author__ = 'GaoShuai'

from selenium import webdriver
from scrapy.selector import Selector
import time

def login_lagou():
    browser = webdriver.Chrome(executable_path="D:/chromedriver.exe")
    browser.get("https://passport.lagou.com/login/login.html")
    # 填充账号密码
    browser\
        .find_element_by_css_selector("body > section > div.left_area.fl > div:nth-child(2) > form > div:nth-child(1) > input")\
        .send_keys("username")
    browser\
        .find_element_by_css_selector("body > section > div.left_area.fl > div:nth-child(2) > form > div:nth-child(2) > input")\
        .send_keys("password")

    # 点击登陆按钮
    browser\
        .find_element_by_css_selector("body > section > div.left_area.fl > div:nth-child(2) > form > div.input_item.btn_group.clearfix > input")\
        .click()
    cookie_dict={}
    time.sleep(3)
    Cookies = browser.get_cookies()
    for cookie in Cookies:
        cookie_dict[cookie['name']] = cookie['value']
    # browser.quit()

    return cookie_dict


def login_zhihu():
    browser = webdriver.Chrome(executable_path="D:/chromedriver.exe")
    browser.get("https://www.zhihu.com/signup?next=%2F")
    #
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值