CrawlSpider爬虫

CrawlSpider是Scrapy框架中用于自动化抓取满足特定规则URL的爬虫。它扩展了Spider的功能,允许定义爬取规则,遇到符合条件的链接会自动爬取,无需手动创建Request。本文介绍了如何创建CrawlSpider,包括异步保存MySQL数据的方法,以及使用Scrapy自动登录GitHub的步骤,涉及页面信息提取、表单填充和提交等操作。
摘要由CSDN通过智能技术生成

之前使用的普通的spider,我们需要自己在解析完整个页面后获取下一页的url,然后重新发送一个请求。有时候我们想要这样做,只要满足某个条件的url,都给我进行爬取。那么我们就可以通过CrawlSpider来帮我们完成了。CrawlSpider继承自Spider,只不过是在之前的基础之上增加了新的功能。可以定义爬取的url的规则,以后scrapy碰到满足条件的url都进行爬取,而不用手动的yield Request。
创建CrawlSpider爬虫:

scrapy genspider -t crawl [爬虫名称][域名]

异步保存MySQL数据
1,使用twisted.enterprise.adbapi来创建连接池。

 #  连接数据库
       self.adpool= adbapi.ConnectionPool(
            mysql_config['DRIVER'],
            host =mysql_config['HOST'],
            port = mysql_config['PORT'],
            user =mysql_config['USER'],
            password =mysql_config['PASSWORD'],
            db = mysql_config['DATABASE'],
            # 在建表时注意需要设置字段的编码属性为‘utf8’,否则会报错
            charset = 'utf8'
       )
       print('连接数据库成功')
    # 只要重写了from_crwaler()方法,那么以后创建对象的时候,就会调用这个方法来获取pipeline对象。
    @classmethod
    def from_crawler(cls,crawler):
        mysql_config=crawler.settings['MYSQL_CONFIG']
        return cls(mysql_config)

2,使用runInteraction来运行插入sql语句的函数

 def 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值