Scrapy快速爬取招聘网站信息

news/2024/5/9 23:10:28/文章来源:https://blog.csdn.net/weixin_43297167/article/details/104647818

本文选取的招聘网站是职友集(www.jobui.com) ,其他招聘网站大体类似。本文以此为例,简单介绍Scrapy框架的使用。
1.pip install Scrapy
这点就不用说了,当然要准备好python和pip环境了。
2.scrapy startproject myScrapy
创建自定义名字myScrapy的项目
3.scrapy genspider jobui jobui.com
在创建好的项目根目录下(这点很重要!!!),创建名为jobui的子项目,同时规定爬虫的爬取范围为‘job.com’(命令行输入时应该是不用加引号,因为待会创建好之后子项目文件里面会看到自动加了)
这样一个名为jobui的子项目就创建好了(上下两个文件是另外两个子项目)jobui项目就已经创建好了
4.jobui.py文件

# -*- coding: utf-8 -*-
import scrapyclass JobuiSpider(scrapy.Spider):name = 'jobui'allowed_domains = ['jobui.com']start_urls = ['https://www.jobui.com/jobs?jobKw=%E7%88%AC%E8%99%AB&cityKw=%E6%9D%AD%E5%B7%9E&sortField=last']def parse(self, response):job_list=response.xpath("//div[@class='c-job-list']")for job in job_list:dict={}dict['title']=job.xpath('./div[2]/div[1]/div[1]//h3/text()').extract_first()dict['salary']=job.xpath('./div[2]/div[1]/div[2]//span[3]/text()').extract_first()dict['company']=job.xpath('./div[2]/div[1]/div[3]/a/text()').extract_first()yield dictnext_url=response.xpath('//a[text()="下一页"]/@href').extract_first()if next_url is not None:next_url='https://www.jobui.com/'+next_url# print(next_url)yield scrapy.Request(next_url,callback=self.parse)

需要编写的就是start_url以及下面的parse函数。start_url为第一页的页码。
需要注意的是yeil返回的必须是Request,item,dict三种类型的数据,所以不能习惯性的构造一个列表,一页字典数据添加到列表,再传递到Pipeline。

5.pipline.py文件

# -*- coding: utf-8 -*-# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.htmlclass MyscrapyPipeline(object):def process_item(self, item, spider):print(item)return item

此文件是编辑保存数据的地方,此处略去,直接打印

6.setting.py文件

# -*- coding: utf-8 -*-# Scrapy settings for myScrapy project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
#     https://docs.scrapy.org/en/latest/topics/settings.html
#     https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
#     https://docs.scrapy.org/en/latest/topics/spider-middleware.htmlBOT_NAME = 'myScrapy'SPIDER_MODULES = ['myScrapy.spiders']
NEWSPIDER_MODULE = 'myScrapy.spiders'# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'myScrapy (+http://www.yourdomain.com)'
USER_AGENT: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36'# Obey robots.txt rules
ROBOTSTXT_OBEY = True# Configure maximum concurrent requests performed by Scrapy (default: 16)
#CONCURRENT_REQUESTS = 32# Configure a delay for requests for the same website (default: 0)
# See https://docs.scrapy.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
#DOWNLOAD_DELAY = 3
# The download delay setting will honor only one of:
#CONCURRENT_REQUESTS_PER_DOMAIN = 16
#CONCURRENT_REQUESTS_PER_IP = 16# Disable cookies (enabled by default)
#COOKIES_ENABLED = False# Disable Telnet Console (enabled by default)
#TELNETCONSOLE_ENABLED = False# Override the default request headers:
#DEFAULT_REQUEST_HEADERS = {
#   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
#   'Accept-Language': 'en',
#}# Enable or disable spider middlewares
# See https://docs.scrapy.org/en/latest/topics/spider-middleware.html
#SPIDER_MIDDLEWARES = {
#    'myScrapy.middlewares.MyscrapySpiderMiddleware': 543,
#}# Enable or disable downloader middlewares
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
#DOWNLOADER_MIDDLEWARES = {
#    'myScrapy.middlewares.MyscrapyDownloaderMiddleware': 543,
#}# Enable or disable extensions
# See https://docs.scrapy.org/en/latest/topics/extensions.html
#EXTENSIONS = {
#    'scrapy.extensions.telnet.TelnetConsole': None,
#}# Configure item pipelines
# See https://docs.scrapy.org/en/latest/topics/item-pipeline.html
ITEM_PIPELINES = {'myScrapy.pipelines.MyscrapyPipeline': 300,
}# Enable and configure the AutoThrottle extension (disabled by default)
# See https://docs.scrapy.org/en/latest/topics/autothrottle.html
#AUTOTHROTTLE_ENABLED = True
# The initial download delay
#AUTOTHROTTLE_START_DELAY = 5
# The maximum download delay to be set in case of high latencies
#AUTOTHROTTLE_MAX_DELAY = 60
# The average number of requests Scrapy should be sending in parallel to
# each remote server
#AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
#AUTOTHROTTLE_DEBUG = False# Enable and configure HTTP caching (disabled by default)
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
#HTTPCACHE_ENABLED = True
#HTTPCACHE_EXPIRATION_SECS = 0
#HTTPCACHE_DIR = 'httpcache'
#HTTPCACHE_IGNORE_HTTP_CODES = []
#HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'
LOG_LEVEL = 'WARNING'

此处将LOG_LEVEL等级设置为WARNING(默认是INFO), 让打印结果更简单一点。

7.scrapy crawl jobui
最后一步运行文件
在这里插入图片描述
中间打印的是下一页的url地址,可在jobui.py中注释。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_896050.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 工具网站

https://www.lfd.uci.edu/~gohlke/pythonlibs/ 安装:只需要下载相应的python版本的包就行

Axure模板库(1)-常见网站

本文作者:Axure大师 微信公众号:axure123 原文地址:猛戳这里 发一套Axure的模板,以后做原型的时候可以直接复制粘贴了。源文件的下载地址在文章最后。 模板里包括9个常见网站布局,好多按钮和图标,下面是图…

网站解析基本流程

一、用户访问网站的基本流程 1、客户端用户在浏啷器里输入www.hhh.org网址地址,回车后,系统首先会查找系统本地的DNS缓存及hosts文件信息,确定是否存在域名对应的IP解析记录,如果有就直接获取ip地址,然后去访问这个地址…

解决网站防挂IFRAME木马方案(治标不治本^_^)

IFRAME木马解决方案 今天一上服务器2000多个<iframe src"http://ca.winvv.com/cn.htm" width0 height0></iframe> 被注入&#xff0c;我晕&#xff01;检查了半天&#xff0c;原来是FckEditor编辑器上传漏洞导致。在找资料的同时&#xff0c;发现CSS有一…

Java博客网站项目

这是一个关于Java语言的博客网站项目&#xff0c;基于Spring的一系列框架。 详细介绍&#xff1a; 1、软件架构说明 前端使用了 Bootstrap框架、Thymeleaf模板引擎、Ajax、JQuery、Html5、Css3、thinker-markdown文本编辑器、jquery的taginput标签插件、font-awesome这个图标插…

自学宝典:10个学习Android开发的网站推荐

1. Android Developers 作为一个Android开发者&#xff0c;官网的资料当然不可错过&#xff0c;从设计&#xff0c;培训&#xff0c;指南&#xff0c;文档&#xff0c;都不应该错过&#xff0c;在以后的学习过程中慢慢理解体会。 2. Android Guides - CodePath CodePath是国外一…

网站建设与深度学习(PHP调用Python程序)

一、深度学习应用 我采用的时Google开发的Tensorflow深度学习框架&#xff0c;基于Python编写的图片语义描述深度学习应用。 二、PHP调用 php中无法带调用python程序中的方法&#xff0c;但是可以用命令行执行python程序&#xff0c;但是不知道什么原因&#xff0c;php中有时…

教你搭一个简单的前后端交互小网站

最近想自己搭一个网站&#xff0c;但仅仅会前端还是有点做不到实际情况中的前后端交互&#xff0c;就自己瞎鼓捣了几个工具&#xff0c;来搭一个简单的网站。 工具&#xff1a; 后端处理这种自己做的小网站用 Node是最好不过来&#xff08;其他语言不会。。&#xff09;&#…

添加新的默认网页sorry.html,在默认主页不能访问的情况下显示“很抱歉...该网站正在维护中,请您在4月1号之后再访问,感谢您的支持。”

在默认发布目录下创建文件vim /var/www/html/sorry.html写入一个html基本页面 修改主配置文件 当我们删掉index.html的时候&#xff0c;重启服务后发现&#xff0c;默认发布文件已经改变

提升Chrome访问网站的速度

FasterChrome 基于 instant.page 项目&#xff0c;一个可以在一分钟内加速网站的小脚本。原理是这样的&#xff0c;当你使用鼠标移动到链接上&#xff0c;并且按下去&#xff0c;这个时间段平均在 300 毫秒&#xff0c;而 instant.page 会在你的鼠标悬停在链接上超过 65 毫秒就…

python-js逆向之某ip网站:js混淆,base64加密,无法断点调试

目标网站&#xff1a;https://www.baibianip.com/home/free.html 在家公众号看到&#xff0c;拿来练练手。 打开网页源代码发现每个id都变成了 <td> <script>FFcampanology(ZGH4AQt1AQNmZwR2AF4lZwHhZmLhAwxkAGxkAwVkAmt0); </script></td> 那坑定…

python-js逆向之某租网站-AES加密

目标网站&#xff1a;aHR0cHM6Ly93d3cubWFvbWFvenUuY29tLyMvYnVpbGQ 话不多说直接开干 1.打开网页&#xff0c;查看源码&#xff0c;哟吼&#xff0c;比我还干净&#xff0c;查找xhr&#xff0c;发现有三个文件&#xff0c;且都是加密数据 2.开始一般操作&#xff0c;随意复制…

在线免费词云图制作网站汇总

在线免费词云图制作网站汇总 1. Word Art2. EdWordle3. 微词云 写这个帖子主要是为了自己需要用到的时候能快速查找&#xff0c;所以整理了一下自己觉得好用的词云图制作工具。如果能帮助到更多人的话&#xff0c;也未尝不是一件好事。 1. Word Art 网址&#xff1a; https:/…

网站流量日志分析系统笔记(Hadoop大数据技术原理与应用)

一、系统架构设计 首先&#xff0c;会将Nginx服务器所产生的日志文件通过Flume采集到HDFS中&#xff1b;其次&#xff0c;开发人员根据原始日志文件及规定数据格式定制开发MapReduce程序进行数据与处理&#xff1b;接着&#xff0c;通过Hive进行最为重要的数据分析&#xff1b;…

python爬虫学习之路(1) 利用urllib爬取网站

网络爬虫的定义 网络爬虫&#xff0c;也叫网络蜘蛛(Web Spider)&#xff0c;如果把互联网比喻成一个蜘蛛网&#xff0c;Spider就是一只在网上爬来爬去的蜘蛛。网络爬虫就是根据网页的地址来寻找网页的&#xff0c;也就是URL。举一个简单的例子&#xff0c;我们在浏览器的地址栏…

ssm/php/java/net/python中小学生视频在线网站

本系统带文档lw1万字答辩PPT查重 如果这个题目不合适&#xff0c;可以去我上传的资源里面找题目&#xff0c;找不到的话&#xff0c;评论留下题目&#xff0c;或者站内私信我&#xff0c; 有时间看到机会给你发 系统设计 .1 系统体系结构 中小学生视频在线网站的结构图-1所示&…

java/php/net/python/springboot英语四级网站设计

本系统带文档lw1万字答辩PPT查重 如果这个题目不合适&#xff0c;可以去我上传的资源里面找题目&#xff0c;找不到的话&#xff0c;评论留下题目&#xff0c;或者站内私信我&#xff0c; 有时间看到机会给你发 系统UML用例分析 1管理员用例 管理员登录后可进行个人中心、用户管…

java/php/net/python个人书籍互享的网站(类似二手书)设计

本系统带文档lw1万字答辩PPT查重 如果这个题目不合适&#xff0c;可以去我上传的资源里面找题目&#xff0c;找不到的话&#xff0c;评论留下题目&#xff0c;或者站内私信我&#xff0c; 有时间看到机会给你发 1、关于个人书籍互享管理系统的基本要求 &#xff08;1&#xf…

java/php/net/python红木家居购物网站的设计

本系统带文档lw1万字答辩PPT查重 如果这个题目不合适&#xff0c;可以去我上传的资源里面找题目&#xff0c;找不到的话&#xff0c;评论留下题目&#xff0c;或者站内私信我&#xff0c; 有时间看到机会给你发 1管理员用例 管理员登录后可进行个人中心、用户管理、商品类别管…

java/php/net/python基于web的家具网站的设计

本系统带文档lw1万字答辩PPT查重 如果这个题目不合适&#xff0c;可以去我上传的资源里面找题目&#xff0c;找不到的话&#xff0c;评论留下题目&#xff0c;或者站内私信我&#xff0c; 有时间看到机会给你发 系统用例分析 1管理员用例图 系统中的核心用户是系统管理员&#…