该爬虫主要用到了scrapy框架. 通过此例子大家可以熟悉下scrapy的流程:

  1. 由于该网站是通过js处理的,在spidertieba.py中,通过response.xpath(’//li[@class=" j_thread_list clearfix"]’)解析字段信息, 始终没法抓取到数据.

  2. 如何抓取到数据是关键, 就想到了用scrapy + selenium 进行动态加载页面的内容爬取。
    在middlewares.py中,使用了 selenium+chromedriver使chrome无界面化. 当然大家可以选择PhantomJS + 火狐都可以, PhantomJS已经停止更新了, 谷歌浏览器支持力度最大,建议用chrome

  3. 在DownloaderMiddleware中,主要是通过该函数 def process_request(self, request,
    spider):来模拟浏览器发送请求.

  4. 至于为什么要放到中间件DownloaderMiddleware中处理,大家可以看下scrapy架构图。

  5. 在settings.py中,需要把DOWNLOADER_MIDDLEWARES 和ITEM_PIPELINES打开。

spidertieba.py:用于请求数据并解析数据,然后保存到item中
items.py: 创建要保存的字段信息
middlewares.py: 用selenium+chromedriver模拟谷歌浏览器发送请求.目的就是进行动态加载页面,方便spidertieba.py中通过xpath解析数据
pipelines.py: 创建文件& 保存item数据, 例子中是以json格式保存数据
settings.py:配置信息, 需要把DOWNLOADER_MIDDLEWARES 和ITEM_PIPELINES打开

运行scrapy crawl spidertieba

最终会保存tieba.json文件

大家可以下载源码:

https://download.csdn.net/download/ding283595861/11708840

需要修改一个地方:在middlewares.py中,需要把第一个参数改成 你们自己本地的路径:

self.driverwebdriver.Chrome(r’D:\*****\chromedriver_win32\chromedriver.exe’,options=chrome_options)

Scrapy 爬取贴吧的例子相关推荐

  1. python爬虫scrapy爬取新闻标题及链接_python爬虫框架scrapy爬取梅花网资讯信息

    原标题:python爬虫框架scrapy爬取梅花网资讯信息 一.介绍 本例子用scrapy-splash爬取梅花网(http://www.meihua.info/a/list/today)的资讯信息, ...

  2. python scrapy爬取HBS 汉堡南美航运公司柜号信息

    下面分享个scrapy的例子 利用scrapy爬取HBS 船公司柜号信息 1.前期准备 查询提单号下的柜号有哪些,主要是在下面的网站上,输入提单号,然后点击查询 https://www.hamburg ...

  3. 【爬虫】Scrapy爬取腾讯社招信息

    目标任务:爬取腾讯社招信息,需要爬取的内容为:职位名称,职位的详情链接,职位类别,招聘人数,工作地点,发布时间. 一.预备基础 1.Scrapy简介 Scrapy是用纯Python实现一个为了爬取网站 ...

  4. Python scrapy爬取京东,百度百科出现乱码,解决方案

    Python scrapy爬取京东 百度百科出现乱码 解决方案 十分想念顺店杂可... 抓取百度百科,出现乱码 把页面源码下载下来之后,发现全是乱码,浏览器打开 但是浏览器链接打开就没有乱码 以下是浏 ...

  5. Scrapy爬取姓名大全,看看那个名字最受父母青睐

    点击上方"AI搞事情"关注我们 最近在做的项目需要用到名字的数据,可哪儿有这么多名字给我用呢?经一通搜索,不仅找到一个神奇的网站姓名大全,还有人开源了爬虫的代码.让我一番修改,得到 ...

  6. 四十三、Scrapy 爬取前程无忧51jobs

    @Author:Runsen 之前爬了拉钩,爬了boss ,你认为我会放过51jobs 吗 这是不可能的,今日用下scrapy 来爬 51jobs,前程无忧 关于新建项目和spider 不说了,今日用 ...

  7. 四十一、完成scrapy爬取官方网站新房的数据

    @Author:Runsen 文章目录 前言 分析网页 新建项目 加请求头 搞定item 首页调试 详情页调试 保存json 前言 在前几天,接到一个大学生的作业的爬虫单子,要求采用scrapy爬取链 ...

  8. 如何用 Python + Scrapy 爬取视频?

    今天将带大家简单了解Scrapy爬虫框架,并用一个真实案例来演示代码的编写和爬取过程. 一.scrapy简介 1. 什么是Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框 ...

  9. scrapy 解析css,Scrapy基础(六)————Scrapy爬取伯乐在线一通过css和xpath解析文章字段...

    上次我们介绍了scrapy的安装和加入debug的main文件,这次重要介绍创建的爬虫的基本爬取有用信息 通过命令(这篇博文)创建了jobbole这个爬虫,并且生成了jobbole.py这个文件,又写 ...

最新文章

  1. 三年开发剑指阿里,复习耗时168天,三面阿里巴巴,成功定级P7
  2. VS中遇到 _WIN32_WINNT not defined
  3. multiprocessing创建自定义进程类
  4. 钉钉微应用的开发——主前端
  5. 前端学习(3192):react第一个案例
  6. linux中的ip地址、子网掩码、端口
  7. Facobook开源视觉问答VQA框架:Pythia
  8. php生成excel到服务器,yii phpexcel自动生成文件保存到服务器上
  9. JavaScript 原始数据类型转换
  10. html 导航栏跟着动_“跟着导航来,现在不敢动!”浙江深山男游客吓坏,4岁儿子冻得直跺脚...
  11. 齐全且实用的MySQL函数使用大全
  12. xv6 Traps, interrupts, and drivers
  13. itextpdf生成pdf,html转pdf,pdf转图片
  14. 微信开发者模式demo
  15. Css3中添加-moz-, -webkit-, -o-,是什么意思呢?
  16. 大学生征信与相关金融知识手册
  17. 无频闪护眼灯哪个好?盘点四款无频闪的护眼台灯
  18. HDU n^n求最高位
  19. 军队文职(数学2+物理)——高等数学 3、求极限(一)
  20. ChatGPT会替代初级程序员吗?

热门文章

  1. Abaqus 2016 安装总结
  2. 使用android7的手机,手机评测 篇一:7年果粉的一加7t使用体验
  3. shell中的while循环实例
  4. 天线接收功率计算公式_对讲机天线增益的计算方法介绍
  5. python语句中print(0xa+0xb)的输出结果是_【单选题】Python语句print(0xA+0xB)的输出结果是( )...
  6. 机器学习 Lasso回归算法
  7. AES中构造s盒中的乘法逆元的c语言实现
  8. 提升视频监控效能 纵横网络有效防控
  9. 西澳推出两大创新型住宅太阳能加存储项目
  10. linux如何编译boost指定库,linux下编译安装boost库