scrapy爬取xx招聘信息
创始人
2025-01-17 04:02:16
0次

scrapy爬取xx网站招聘信息

爬取某网站招聘爬虫
1、学会如何翻页
思路分析:
a、获取首页的数据
b、寻找下一页的地址,进行翻页,获取数据
步骤:
a、修改start_urls
b、检查allowed_domains
c、parse方法进行解析
2、网页关键词查找:ctrl+f,ctrl+v

  1. items.py中进行数据建模
""" 1、items中确定要爬取的字段,规范爬取的数据,防止遗漏 2、创建爬虫,域名xx.com 3、写url,parse解析数据     对数据进行xpath分析,确定数据 """ import scrapy class xxItem(scrapy.Item):     # define the fields for your item here like:     name = scrapy.Field()     link = scrapy.Field()     depart = scrapy.Field()     category = scrapy.Field()     type = scrapy.Field()     address = scrapy.Field()     num = scrapy.Field()     date = scrapy.Field() 
  1. 创建爬虫 scrapy genspider job xx.com
# 创建的job.py文件中运行 import scrapy from wangyi.items import xxItem  class JobSpider(scrapy.Spider):     name = 'job'     allowed_domains = ['xx.com']     # 1、更改初始url     start_urls = ['https://hr.xx.com/position/list.do']      def parse(self, response):         # 完成爬虫         # 1、解析响应信息,获取节点列表,         node_list = response.xpath('//*[@class="position-tb"]/tbody/tr')         # print(len(node_list)) 输出40,实际长度20,需要处理数据         # # 2、抽取数据,遍历节点列表,过滤数据         for num, node in enumerate(node_list):             # 设置过滤条件,将目标节点获取出来             if num % 2 == 0:                 item = WangyiItem()                 item['name'] = node.xpath('./td[1]/a/text()').extract_first()                 # response.urljoin()用于拼接相对路径的url                 item['link'] = response.urljoin(node.xpath('./td[1]/a/@href').extract_first())                 item['depart'] = node.xpath('./td[2]/text()').extract_first()                 item['category'] = node.xpath('./td[3]/text()').extract_first()                 item['type'] = node.xpath('./td[4]/text()').extract_first()                 item['address'] = node.xpath('./td[5]/text()').extract_first()                 item['num'] = node.xpath('./td[6]/text()').extract_first().strip()                 item['date'] = node.xpath('./td[7]/text()').extract_first()                 yield item         # 模拟翻页         part_url = response.xpath('/html/body/div[2]/div[2]/div[2]/div/a[last()]/@href').extract_first()          # 判断终止条件         if part_url != 'javascript:;':             next_url = response.urljoin(part_url)             # 构建请求对象,并且返回给引擎,最后去piplines保存数据             yield scrapy.Request(                 url=next_url,                 callback=self.parse             ) 
  1. 在piplines.py中保存文件
import json   class xxPipeline:      def __init__(self):         self.file = open('xx.json', 'w')      def process_item(self, item, spider):         item = dict(item)         str_data = json.dumps(item, ensure_ascii=False) + ',\n'          # 写入数据         self.file.write(str_data)         return item      def __del__(self):         self.file.close() 
  1. 开启管道,在settings.py中配置ITEM_PIPELINES
ITEM_PIPELINES = {    'xx.pipelines.xxPipeline': 300, } 

相关内容

热门资讯

查到实测透视挂操作!勇者之心多... 查到实测透视挂操作!勇者之心多功能透视挂软件,勇者之心确实真的是有辅助软件所有人都在同一条线上,像星...
一分钟揭秘透视练习!任丘娱乐多... 一分钟揭秘透视练习!任丘娱乐多功能透视方法,任丘娱乐切实是有辅助方法1)任丘娱乐有没有挂:进一步探索...
揭秘一下辅助器窍要!悦心多功能... 揭秘一下辅助器窍要!悦心多功能辅助器方法,悦心本来是有辅助方法暗藏猫腻,小编详细说明悦心破解器有用吗...
重大通报透视挂讲义!聚旺互娱多... 重大通报透视挂讲义!聚旺互娱多功能透视挂工具,聚旺互娱原来真的有辅助工具1、很好的工具软件,可以解锁...
揭秘真相透视教程书!久盛多功能... 揭秘真相透视教程书!久盛多功能透视app,久盛其实确实有辅助app亲,关键说明,久盛透视脚本安卓赛季...
盘点几款透视法子!兴贝棋牌多功... 盘点几款透视法子!兴贝棋牌多功能透视教程,兴贝棋牌果然存在有辅助教程1.兴贝棋牌 选牌创建新账号,点...
刚刚辅助器办法!欢乐斗牛多功能... 刚刚辅助器办法!欢乐斗牛多功能辅助器工具,欢乐斗牛原来真的有辅助工具1、全新机制【欢乐斗牛ai辅助工...
做出回应透视挂窍要!66红中麻... 做出回应透视挂窍要!66红中麻将多功能透视挂教程,66红中麻将都是确实有辅助教程1、进入到66红中麻...
一分钟了解透视妙招!九九多功能... 一分钟了解透视妙招!九九多功能透视工具,九九总是确实有辅助工具1、完成九九辅助器v3.3的残局,帮助...
2024教程辅助挂手筋!兴贝棋... 2024教程辅助挂手筋!兴贝棋牌多功能辅助挂工具,兴贝棋牌一贯是真的有辅助工具1、用户打开应用后不用...