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中sets模块的用法实例
Sep 30 Python
Python实现高效求解素数代码实例
Jun 30 Python
Python的GUI框架PySide的安装配置教程
Feb 16 Python
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
django请求返回不同的类型图片json,xml,html的实例
May 22 Python
Python入门Anaconda和Pycharm的安装和配置详解
Jul 16 Python
Django基础三之视图函数的使用方法
Jul 18 Python
python中必要的名词解释
Nov 20 Python
python 实现屏幕录制示例
Dec 23 Python
Python Socketserver实现FTP文件上传下载代码实例
Mar 27 Python
Python如何脚本过滤文件中的注释
May 27 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 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
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
怎样辨别一杯好咖啡
2021/03/03 新手入门
PHP中for与foreach的区别分析
2011/03/09 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
php实现socket推送技术的示例
2017/12/20 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
详解Vue.js在页面加载时执行某个方法
2018/11/20 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
js验证账户名是否重复
2020/05/26 Javascript
vue-cli4项目开启eslint保存时自动格式问题
2020/07/13 Javascript
Python实现模拟登录及表单提交的方法
2015/07/25 Python
python学习必备知识汇总
2017/09/08 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
python的pip有什么用
2020/06/17 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
xml有哪些解析技术?区别是什么
2016/04/26 面试题
《桥》教学反思
2014/04/09 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书
行为规范主题班会
2015/08/13 职场文书
Python 制作自动化翻译工具
2021/04/25 Python
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库