爬取百度贴吧实战,python教你如何获取
1,目标:
爬取贴吧每一贴,楼主图,并保存。
由于图片大多是楼主发的,如果全部查找会浪费很多时间。
2,分析
我选择爬取的贴吧为图吧,你们可以选择自己想要爬取的贴吧。
2.1,获取页面
我们将爬取页面的代码写成一个get_html()方法,给他传入url参数
代码如图:
获取正常,没问题。
我们用chrome的开发者模式来分析每个贴的连接,用定位定位一个帖子,这样方便我们快速的去查找我们想要的信息。
如图:
2.2利用正则表达式找出我们想要的连接
通过查找,我们发现每个贴都是在class=“col2_right j_threalist_li/_right”下
我们可以让他成为一个标志位,通过它继续往下找,他有两个类名,我们选择后者即可。
<div.?j_threadlist_li_right.?>.?<a.?href="(.?)".?>(.*?)
返回的是一个数组,为了好看我们以字典的方式返回,用yield我们可以理解为返回值,在python基础里会讲,我们将获取的页面作为参数传进去,实现get_url方法。
如图:
我们来打印一下,看一下获取的是什么?
结果如图:
很明显,我们需要来拼接一下,获取完整的url,我们点击一个进入,可以发现,url是这样的:https://tieba.baidu.com/p/5768252315,我们得到了后半部分,那就容易了,只需要拼接一下,得到的结果就变成了:
得到链接后,我们需要再次发送请求,获取到每个贴的内容,即调用我们上面写好的get_html()方法即可。
2.3找到每个帖子楼主发的图片链接
同样的方式,打开开发者模式,找的图片,找出标志位,写出正则,这里就不详细说了,正则为:
实现get_img_url()方法:
结果图为:
2.4获取到图片地址后,自然是要下载下来实现write_to_file()方法
下载图片,在上篇文章上已经有实例,
连接:python第二大神器requests
这里直接上代码图:
里面的正则是用来作为图片名字的,time.sleep(2)是为了爬取慢点
太快会无响应或者报错。
下面我们试一下效果:
我们来修改一下,来爬取第一页贴种的所有贴,获取楼主贴的总页数
和上面同样的方式找到总页数,并写出获取总页数的正则:
实现get_ye方法,同时点击只看楼主,url会多出see_lz=1
如图:
2.5由于有些贴吧的贴子很多,我们就选择获取前十页内容,当然你也可以写个方法换取所有页
这里就不实例了,在贴吧里点击下一页我们发现url多出pn=50,由此我们知道50为偏移量,即一页有50个帖子pn=n 是n+1到n+50帖子
2.6整合一下代码,我们用main()方法来调用上面的方法。
如图:
推荐一下我建的python学习交流扣扣qun:850973621,群里有免费的视频教程,开发工具、
电子书籍、项目源码分享。一起交流学习,一起进步!
作者:小新你蜡笔呢
链接:https://www.jianshu.com/p/27c534394890
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
爬取百度贴吧实战,python教你如何获取相关推荐
- python爬取百度搜索_使用Python + requests爬取百度搜索页面
想学一下怎样用python爬取百度搜索页面,因为是第一次接触爬虫,遇到一些问题,把解决过程与大家分享一下 1.使用requests爬取网页 首先爬取百度主页www.baidu.com import r ...
- 手把手带你爬取百度美女图片,Python练手项目!
本文纯技术角度出发,教你如何用Python爬虫获取百度美女图片--技术无罪. 目标站点 百度图片使用关键字搜索 小姐姐私房照 https://image.baidu.com/ 开发环境 系统:Wind ...
- python爬取百度文库_利用Python语言轻松爬取数据
利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...
- 用python 爬取百度百科内容-使用python爬取小说全部内容
爬取代码为import urllib.request from bs4 import BeautifulSoup #coding: utf-8 class xiaoShuo(): def __init ...
- 如何使用python爬取百度图片_【Python】爬取百度图片进行人脸识别
importos,cv2,requests,json,re,timeimporttensorflow as tffrom bs4 importBeautifulSoupdefcheck_path(pa ...
- python爬虫之爬取百度网盘
爬虫之爬取百度网盘(python) #coding: utf8 """ author:haoning create time: 2015-8-15 "" ...
- Python爬虫实战之爬取百度贴吧帖子
Python爬虫实战之爬取百度贴吧帖子 大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标 对百度贴吧的 ...
- Python爬虫实战之爬取百度音乐歌曲
Python爬虫爬取百度音乐歌曲 整体思路如下: 1.搜索:通过搜索界面输入歌手名字找到歌手的歌曲信息.千千音乐:网址 2.找到歌曲信息:通过遍历歌曲列表信息界面获取每个歌曲的ID,以及歌曲的总数 3 ...
- 用python 爬取百度百科内容-爬虫实战(一) 用Python爬取百度百科
最近博主遇到这样一个需求:当用户输入一个词语时,返回这个词语的解释 我的第一个想法是做一个数据库,把常用的词语和词语的解释放到数据库里面,当用户查询时直接读取数据库结果 但是自己又没有心思做这样一个数 ...
最新文章
- Linux之Vsftpd虚拟用户、扩展应用tcp_wrapper实验总结
- 微信企业号开启回调模式--php
- swift_007(Swift的Array 数组)
- iOS应用开发入门(3)——点击button控制textview
- python的init有什么用_Python中 __init__.py的作用
- 三层架构介绍和MVC设计模型介绍
- 闲鱼直播三周内实现点击率翻倍,我们是这么做到的...
- 《嵌入式C编程:PIC单片机和C编程技术与应用》一第1章C语言概述和程序结构1.1 C源代码...
- python兔子和獾_少儿编程分享:手把手教你用PYTHON编写兔獾大作战(三)
- 413 Request Entity Too Large 异常记录
- thoughtworks面试流程
- 打字时禁用触摸板_触摸打字感觉不错,但不适合我
- python多任务,线程详解
- Do带你解析:原生APP与web APP的区别
- Inspector检视视图
- 18650圆柱锂电池comsol5.6模型 参数已配置,电化学生热研究,三种放电倍率
- candence pcb走线等长_PCB走线角度选择 - PCB Layout 跳坑指南 - 吴川斌的博客
- 四舍五入VS银行家舍入 (四舍六入五取偶)
- 抑或运算符(位运算和逻辑运算符详解)----Java
- 扯淡 | 如何判断一家公司是否靠谱
热门文章
- Arcgis中怎么进行遥感影像的标准分幅
- java程序占用cpu100%问题查找方案
- Mathematica绘制动态蔓叶线
- Lisp for Small Prices
- pipeline设计模式
- “80后”古宅修复者辗转5省 用匠心唤醒老宅魅力
- 免费获取华夏邓白氏编码(021-26107504)
- 【javascript-基础小练习】开发一款软件,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适
- el-radio-group change事件获取老值
- Influx 产品常见问题及使用技巧(3)