Python爬虫 scrapy框架爬取某招聘网存入mongodb解析


Posted in Python onJuly 31, 2019

创建项目

scrapy startproject zhaoping

创建爬虫

cd zhaoping
scrapy genspider hr zhaopingwang.com

目录结构

Python爬虫 scrapy框架爬取某招聘网存入mongodb解析

items.py

title = scrapy.Field()
  position = scrapy.Field()
  publish_date = scrapy.Field()

pipelines.py

from pymongo import MongoClient

mongoclient = MongoClient(host='192.168.226.150',port=27017)
collection = mongoclient['zhaoping']['hr']

class TencentPipeline(object):
  def process_item(self, item, spider):
    print(item)
    # 需要转换为 dict
    collection.insert(dict(item))
    return item

spiders/hr.py

def parse(self, response):
    # 不要第一个 和最后一个
    tr_list = response.xpath("//table[@class='tablelist']/tr")[1:-1]
    for tr in tr_list:
      item = TencentItem()
      # xpath 从1 开始数起
      item["title"] = tr.xpath("./td[1]/a/text()").extract_first()
      item["position"] = tr.xpath("./td[2]/text()").extract_first()
      item["publish_date"] = tr.xpath("./td[5]/text()").extract_first()
      yield item

    next_url = response.xpath("//a[@id='next']/@href").extract_first()
    # 构造url
    if next_url != "javascript:;":
      print(next_url)
      next_url = "https://hr.tencent.com/" + next_url
      yield scrapy.Request(url=next_url,callback=self.parse,)

就是这么简单,就获取到数据

Python爬虫 scrapy框架爬取某招聘网存入mongodb解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 字符串split的用法分享
Mar 23 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
python在非root权限下的安装方法
Jan 23 Python
python实现排序算法解析
Sep 08 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
Nov 07 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
Dec 14 Python
python3实现逐字输出的方法
Jan 23 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
python 追踪except信息方式
Apr 25 Python
python3中编码获取网页的实例方法
Nov 16 Python
利用Python实现模拟登录知乎
May 25 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 Python
python爬虫 模拟登录人人网过程解析
Jul 31 #Python
Python爬虫 bilibili视频弹幕提取过程详解
Jul 31 #Python
Django实现跨域的2种方法
Jul 31 #Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 #Python
在VS2017中用C#调用python脚本的实现
Jul 31 #Python
使用pip安装python库的多种方式
Jul 31 #Python
python实现几种归一化方法(Normalization Method)
Jul 31 #Python
You might like
php include加载文件两种方式效率比较
2010/08/08 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
php远程下载类分享
2016/04/13 PHP
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
Jquery 在页面加载后执行的几种方式
2014/03/14 Javascript
javascript类型转换示例
2014/04/29 Javascript
js脚本实现数据去重
2014/11/27 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
2015/09/14 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
Python学习笔记(二)基础语法
2014/06/06 Python
Python内置函数的用法实例教程
2014/09/08 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
详解django三种文件下载方式
2018/04/06 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
Python 解析简单的XML数据
2020/07/24 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
医院护士见习期自我鉴定
2014/04/10 职场文书
世界读书日的活动方案
2014/08/20 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2014年创卫工作总结
2014/11/24 职场文书
2014年工程部工作总结
2014/11/25 职场文书
羊脂球读书笔记
2015/06/30 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
PyQt5 QThread倒计时功能的实现代码
2021/04/02 Python