python爬虫中如何编写pyspider

427次阅读
没有评论

python爬虫中如何编写pyspider

在上篇中我们讲过pyspider的一些简单介绍和使用,那么有小伙伴知道该如何编写吗?当然这是有一定的难度的,对于初学python的小伙伴们来说还达不到这样的能力,所以小伙伴们可以先看看小编的代码,再进行模仿和学习。代码方面不是很长,但是比较复杂,接下来我们就一起看看如何编写pyspider吧。

 

代码:

from pyspider.libs.base_handler import *class Handler(BaseHandler):
    crawl_config = {
    }
 
    @every(minutes=24 * 60)    def on_start(self):
        self.crawl('__START_URL__', callback=self.index_page)
 
    @config(age=10 * 24 * 60 * 60)    def index_page(self, response):        for each in response.doc('a[href^="http"]').items():
            self.crawl(each.attr.href, callback=self.detail_page)
 
    @config(priority=2)    def detail_page(self, response):        return {            "url": response.url,            "title": response.doc('title').text(),
        }

 

crawl_config:爬虫的全局参数设置,例如请求头和cookies可以在这里设置(传入关键字及对应的参数即可)

on_start(self):爬虫开始爬取的入口

crawl:和requests有相同的功能 ,可以支持 get(默认) 和 post,常用的参数有

data 是想要提交数据

callback 可以在执行完 crawl后调用回调函数

method 是指定 访问方法

files 上传文件,{‘key’: (‘file.name’: ‘content’)}

headers 请求头,类型dict

cookies 请求的 Cookies 类型 dict

timeout 请求内容里最大等待秒数.默认值:120

connect_timeout : 指定请求时链接超时时间,单位秒,默认值:20

proxy : 可以设置代理服务器,暂时只支持http代理

没有看懂代码的小伙伴们也不要气馁,等过一段时间基础知识学明白后,相信编写pyspider就不会有什么问题了。结尾还有一些关于pyspider参数的介绍,小伙伴们也可以了解一下。

 

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-20发表,共计1156字。
新手QQ群:570568346,欢迎进群讨论 Python51学习