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利用elaphe制作二维条形码实现代码
May 25 Python
python linecache 处理固定格式文本数据的方法
Jan 08 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
python实现大文本文件分割
Jul 22 Python
详解Python中正则匹配TAB及空格的小技巧
Jul 26 Python
python实现机器人卡牌
Oct 06 Python
python yield和Generator函数用法详解
Feb 10 Python
selenium WebDriverWait类等待机制的实现
Mar 18 Python
如何安装并在pycharm使用selenium的方法
Apr 30 Python
Python是怎样处理json模块的
Jul 16 Python
python使用布隆过滤器的实现示例
Aug 20 Python
详解Python requests模块
Jun 21 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中header和session_start前不能有输出原因分析
2013/01/11 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
PHP连接access数据库
2015/03/27 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
PHP对象实例化单例方法
2017/01/19 PHP
JavaScript经典效果集锦
2010/07/06 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
Node绑定全局TraceID的实现方法
2019/11/14 Javascript
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
python实现图片转字符小工具
2019/04/30 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
前端使用canvas生成盲水印的加密解密的实现
2020/12/16 HTML / CSS
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
职高毕业生自我鉴定
2013/10/21 职场文书
应届生护士求职信
2013/11/01 职场文书
办理信用卡工作证明
2014/01/11 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
庆祝国庆节标语
2014/10/09 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP