2019 7.14学习笔记

发送POST请求:

有时候我们想要在请求数据的时候发送post请求,那么这时候需要使用Request的子类FormRequest来实现,如果想要在爬虫一开始的时候就发送POST请求,那么需要在爬虫类中重写 start_requests(self)方法,并且不再调用start_url。

模拟登录人人网:

1.想要发送POST请求,推荐使用“scrapy.FormRequests”方法,可以方便的指定表单数据

2.如果想在爬虫一开始的时候就发送POST请求,那么应该重写“start_requests”方法。在这个方法中发送post请求。

renren_spider.py

import scrapy
class RenrenSpiderSpider(scrapy.Spider):
    name = 'renren_spider'
    allowed_domains = ['renren.com']
    start_urls = ['http://renren.com/']

    def start_requests(self):
        url="http://www.renren.com/PLogin.do"
        data={"email":"970138074@qq.com","password":"pythonspider"}
        request=scrapy.FormRequest(url,formdata=data,callback=self.parse_page)
        yield request
    def parse_page(self,response):
        # with open('renren.html','w',encoding='utf-8')as fp:
        #     fp.write(response.text)
        request=scrapy.Request(url='http://www.renren.com/880151247/profile',callback=self.parse_profile)
        yield request
    def parse_profile(self,response):
        with open('dp.html','w',encoding='utf-8')as fp:
            fp.write(response.text)

模拟登录豆瓣网

 因为教程中的验证码还是字母验证码 而豆瓣网已经更新为滑动验证码 所以不能继续进行了

转载于:https://www.cnblogs.com/jyjoker/p/11192584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值