提示:本学习来自Ehco前辈的文章, 经过实现得出的笔记。

目标

http://tieba.baidu.com/f?kw=linux&ie=utf-8

网站结构

学习目标

由于是第一个实验性质爬虫,我们要做的不多,我们需要做的就是:1. 从网上爬下特定页码的网页
2. 对于爬下的页面内容进行简单的筛选分析
3. 找到每一篇帖子的 标题、发帖人、日期、楼层、以及跳转链接
4. 将结果保存到文本。

发现规律

&pn=0 : 首页
&pn=50: 第二页
&pn=100:第三页
&pn=50*n 第n页
50 表示 每一页都有50篇帖子。这样就能实现翻页操作

附上代码

import requests
import timefrom bs4 import BeautifulSoupdef get_html(url):try:r = requests.get(url, timeout=30)r.raise_for_status()r.encoding = 'utf-8'return r.textexcept:return "error"def get_content(url):comments = []html = get_html(url)soup = BeautifulSoup(html, 'lxml')liTags = soup.find_all('li', attrs={'class':' j_thread_list clearfix'})for li in liTags:comment = {}try:#标题comment['title'] = li.find('a', attrs={'class':'j_th_tit '}).text.strip()#链接comment['link'] = "http://tieba.baidu.com/" + \li.find('a', attrs={'class' : 'j_th_tit'})['href']#发帖人comment['name'] = li.find('span', attrs = {'class':'tb_icon_author '}).text.strip()#发帖时间comment['time'] = li.find('span', attrs={'class':'pull-right is_show_create_time'}).text.strip()#回复数量comment['replyNum'] = li.find('span', attrs={'class':'threadlist_rep_num center_text'}).text.strip()comments.append(comment)except:print("出了点小问题")return commentsdef Out2File(dict):with open('TTBT.txt', 'a+') as f:for comment in dict:f.write('标题: {} \t 连接: {} \t 发帖人: {} \t 发帖时间: {} \t 回复数量: {} \n'.format(comment['title'], comment['link'], comment['name'], comment['time'], comment['replyNum']))print("当前页面爬取完成")def main(base_url, deep):url_list = []for i in range(0, deep):url_list.append(base_url + '&pn' + str(50 * i))print("所有的网页已经下载到本地! 开始筛选信息")for url in url_list:content = get_content(url)Out2File(content)print("所有的信息都已经保存完毕")base_url = 'http://tieba.baidu.com/f?kw=linux&ie=utf-8'
deep = 3if __name__ == '__main__':main(base_url, deep)

结果

转载于:https://www.cnblogs.com/chenglee/p/8473989.html

零基础Python爬虫实现(百度贴吧)相关推荐

  1. 慕课网python零基础入门教程_零基础Python爬虫入门学习一之综述

    原标题:零基础Python爬虫入门学习一之综述 大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章 ...

  2. python经典教程_零基础 Python爬虫经典实战教程

    最近Python爬虫比较火,看到网上分享源码的比较多,很少有教程帖子,为了帮助新人和对爬虫比较感兴趣的朋友,所以想到写一些比较详细教程帖子!大家共同学习! 下载工具,安装对应系统的版本,下面以wind ...

  3. 零基础python爬虫_零基础写python爬虫之爬虫编写全记录

    先来说一下我们学校的网站: http://jwxt.sdu.edu.cn:7777/zhxt_bks/zhxt_bks.html 查询成绩需要登录,然后显示各学科成绩,但是只显示成绩而没有绩点,也就是 ...

  4. python爬电影_零基础Python爬虫实现(爬取最新电影排行)

    原博文 2018-02-26 15:29 − 提示:本学习来自Ehco前辈的文章, 经过实现得出的笔记. 目标网站 http://dianying.2345.com/top/ 网站结构 要爬的部分,在 ...

  5. 零基础Python爬虫教程和实战(一)

    今天我们来学爬虫,这个系列预计会出11期 爬虫原理: ------------------什么是爬虫?----------------- 请求网站并提取数据的自动化程序 --------------- ...

  6. 零基础python爬虫基础之王者荣耀图片下载(超级简单)

    requests与PyQuery requests 请求获取数据 PyQuery PyQuery是一个类似于jQuery的解析网页工具,使用lxml操作xml和html文档,它的语法和jQuery很像 ...

  7. python基础入门大作业怎么做_【百度飞桨】零基础Python课程大作业

    转眼间百度飞桨的零基础python课程马上就要结束了,所谓年前学python,年后来上号,通过本次课程可以对python有一个基础的认知和掌握,以下是大作业的个人代码,仅供参考. [作业一] #创建S ...

  8. 【飞桨/百度领航团/零基础Python】学习心得

    [飞桨/百度领航团/零基础Python]学习心得 课程链接:https://aistudio.baidu.com/aistudio/course/introduce/7073 初识python Pyt ...

  9. Python笔记【 飞桨、百度领航团 、零基础Python】2021-02-08

    Python笔记[ 飞桨.百度领航团 .零基础Python]2021-02-08 课程链接:https://aistudio.baidu.com/aistudio/course/introduce/7 ...

  10. 零基础Python培训入门 教你认识下这些基础内容

    Python编程语言为什么近些年这么火?从它本身的语言特性来看,Python编程简单而且直接,适合初学编程者,让初学者能够专注于编程逻辑,而不是在不流通的语法细节上感到困惑.零基础Python培训中心 ...

最新文章

  1. 单引号和冒号不能存入mysql么_mysql单引号和双引号的用法
  2. 用《叩响C#之门》复习C#基础知识 第五章 枚举、结构体和数组
  3. SAP Spartacus storefront.component.html 怎么关联到其他的页面
  4. 活动: 北京Xamarin分享会第4期(2017年7月8日)
  5. C++|STL学习笔记-对STL中关联容器map的进一步认识
  6. 10 tf.data模块
  7. 1250. Sea Burial
  8. 24. Django部署:项目部署
  9. Hadoop 服务器配置的副本数量 管不了客户端
  10. linux 命令学习
  11. JDBC知识 - 马士兵视频教程笔记
  12. NI CompactRIO、labview在车载数据采集中的应用
  13. 跟我学Springboot开发后端管理系统1:概述
  14. JavaScript求最大的岛屿面积
  15. 微信设置水滴昵称,个性很漂亮,快试试!
  16. 【C++】完成一个消消乐
  17. 【DeeplabV3+ MIoU】DeeplabV3+计算评价指标
  18. Dev c++无法新建项目解决方法
  19. Go 离线安装依赖包
  20. 计算机图形学(三)——opengl实现动态钻石图的绘制

热门文章

  1. 栈——后入先出的数据结构(LIFO)
  2. 1.2. Linear and Quadratic Discriminant Analysis(线性判别和二次判别分析)(一)
  3. python语句中print(type(1j))_Python语句 print(type(1/2))的输出结果是:______
  4. 居于canvas的原生js抽奖小程序
  5. 创维电视能用鸿蒙系统吗,鸿蒙OS系统电视怎么看直播?装了鸿蒙系统的电视可以看电视直播吗?当然可以...
  6. Android 自定义锁屏_开发自定义ROM提速:红米Note 6 Pro等Android Pie内核源代码上线...
  7. jQery 日历 带农历显示
  8. 姿态估计1-03:FSA-Net(头部姿态估算)-白话给你讲论文-翻译无死角(1)
  9. 中年危机也许只是个幻觉
  10. 计算机所有以太网适配的ip,以太网没有有效的ip配置怎么办