scrapy中的各个模块的作用

本文介绍了一种使用Selenium和Chrome WebDriver实现的51job职位信息爬虫。该爬虫通过a51job.py模块发起请求,由middlewares.py中的JobMiddleware类处理,模拟浏览器行为获取动态加载的网页数据,并通过HtmlResponse返回给爬虫。数据清洗和处理在items模块完成,最终由pipelines.py存储至数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
a51job.py,是爬虫,主要是进行请求,把请求发送给中间件middlewares.py,
middlewares.py通过
class JobMiddleware(object):
def init(self):
#接受到来自a51job.py中的Request请求,模拟的浏览器自动打开
self.browser = webdriver.Chrome(executable_path="/cdrom/chromedriver")

def process_request(self,request, spider):
    #因为详情页中不需要Selenium模拟,所以直接请求就可以了(因为没有ajax)用源信息进行请求就可以了
    if request.meta.get("message"):
        return None
    #浏览器get请求当中的url
    self.browser.get(request.url)
    # time.sleep(10)
    #返回给爬虫一个response
    return HtmlResponse(url=self.browser.current_url,body=self.browser.page_source,encoding="utf-8",request=request)

items:主要是做数据清洗(抓取字段根据需求进行处理)

pipelines.py:是最后一道工序,就是进行数据库的存储或者输出数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值