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私有属性和方法实例分析
Jan 15 Python
Perl中著名的Schwartzian转换问题解决实现
Jun 02 Python
python实现自动登录人人网并采集信息的方法
Jun 28 Python
Python作用域用法实例详解
Mar 15 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
python实现教务管理系统
Mar 12 Python
通过python将大量文件按修改时间分类的方法
Oct 17 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
Dec 17 Python
pytorch 实现打印模型的参数值
Dec 30 Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 Python
python glom模块的使用简介
Apr 13 Python
python xlwt模块的使用解析
Apr 13 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
长波有什么东西
2021/03/01 无线电
PHP的autoload自动加载机制使用说明
2010/12/28 PHP
PHP+JS+rsa数据加密传输实现代码
2011/03/23 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
再论Javascript的类继承
2011/03/05 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
javascript如何创建对象
2016/08/29 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
微信小程序用户盒子、宫格列表的实现
2020/07/01 Javascript
python中MySQLdb模块用法实例
2014/11/10 Python
Python赋值语句后逗号的作用分析
2015/06/08 Python
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
浅谈Python中函数的参数传递
2016/06/21 Python
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
python将图片转base64,实现前端显示
2020/01/09 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
Shell编程面试题
2012/05/30 面试题
分居协议书范本(律师见证版)
2014/11/26 职场文书
班主任先进事迹材料
2014/12/17 职场文书
劳动保障个人工作总结
2015/03/04 职场文书