1. 确定 URL

from urllib import request
import re
#定义url
page=50
url="https://tieba.baidu.com/f?kw=%E6%AE%B5%E5%AD%90&ie=utf-8&pn="+str(page)

2.添加headers并抓取页面代码

try:#定义请求头headrs={"User-Agent":" Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36"}#定义请求,传入请求头req=request.Request(url,headers=headrs)#打开网页resp=request.urlopen(req)#打印响应码,解码# print(resp.read().decode('utf-8'))

3. 使用正则表达式提取某一页的所有段子

 content=resp.read().decode('utf-8')#定义正则表达式#<a rel="noopener" 具体的东西#.*? 匹配没用的数据#(.*?)匹配有用数据分组#\s 空格pattern=re.compile(r'<a rel="noopener".*?title=(.*?)\s.*?>(.*?)</a>')#匹配htmlitems=re.findall(pattern,content)#打印解析的内容for i in items:print("标题:"+i[0]+" 内容:"+i[1])except request.URLError as e:#打印响应码if hasattr(e,'code'):print(e.code)#打印异常原因if hasattr(e,'reason'):print(e.reason)

面向对象模式

from urllib import request
import reclass tieba:#初始化def __init__(self):# 定义urlself.url="https://tieba.baidu.com/f?kw=%E6%AE%B5%E5%AD%90&ie=utf-8&pn="# 定义请求头self.headrs={"User-Agent":" Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36"}#列表,存储解析后的结果self.stories=[]#下载页面def getPage(self,page_number):try:# 定义请求,传入请求头req=request.Request(self.url+str(page_number),headers=self.headrs)# 打开网页resp=request.urlopen(req)# 打印响应码,解码content=resp.read().decode("utf-8")return contentexcept request.URLError as e:# 打印响应码if hasattr(e, 'code'):print(e.code)# 打印异常原因if hasattr(e, 'reason'):print(e.reason)#解析页面def rexgPage(self,content):# 定义正则表达式# <a rel="noopener" 具体的东西# .*? 匹配没用的数据# (.*?)匹配有用数据分组# \s 空格pattern = re.compile(r'<a rel="noopener".*?title=(.*?)\s.*?>(.*?)</a>')# 匹配htmlitems = re.findall(pattern, content)# 添加解析的内容for i in items:# print("标题:" + i[0] + " 内容:" + i[1])self.stories.append("标题:" + i[0] + " 内容:" + i[1])#显示解析的内容def getContent(self):for i in self.stories:print(i)#创建对象
c=tieba()
#调用方法
c.rexgPage(c.getPage(100))
c.getContent()

Python网络爬虫实战相关推荐

  1. python商业爬虫教程_廖雪峰老师的Python商业爬虫课程 Python网络爬虫实战教程 体会不一样的Python爬虫课程...

    廖雪峰老师的Python商业爬虫课程 Python网络爬虫实战教程 体会不一样的Python爬虫课程 1.JPG (53.51 KB, 下载次数: 1) 2019-8-9 08:15 上传 2.JPG ...

  2. python爬虫文件代码大全-Python网络爬虫实战项目代码大全(长期更新,欢迎补充)...

    WechatSogou[1]- 微信公众号爬虫.基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典.[1]: https://github ...

  3. python常用代码大全-Python 网络爬虫实战项目代码大全

    原标题:Python 网络爬虫实战项目代码大全 DouBanSpider 豆瓣读书的爬虫.你可以爬豆瓣读书下面标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选搜罗,比如筛选评价 ...

  4. python基础代码大全-Python网络爬虫实战项目代码大全(长期更新,欢迎补充)

    WechatSogou[1]- 微信公众号爬虫.基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典.[1]: https://github ...

  5. Python 网络爬虫实战:猫眼电影 38950 条评论数据告诉你《无名之辈》是否值得一看?

    11月16日,一部无流量明星.无大制作.无大IP的"三无"国产电影<无名之辈>上映后,竟然连续打败了超级英雄"毒液".会魔法的"神奇动物& ...

  6. Python 网络爬虫实战:去哪儿网旅游攻略图文爬取保存为 Markdown电子书

    接上回,<Python 网络爬虫实战:爬取<去哪儿>网数千篇旅游攻略数据>. 我们爬取到了数千篇的旅游攻略文章的数据. 但是事情还没有结束,对于大部分的人来讲,最希望得到的东西 ...

  7. [day4]python网络爬虫实战:爬取美女写真图片(Scrapy版)

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.Scrapy简介 4. ...

  8. [day1]python网络爬虫实战:爬取美女写真图片

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.实现 1.分析url格 ...

  9. [day2]python网络爬虫实战:爬取美女写真图片(增强版)

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.实现 1.分析url格 ...

  10. Python网络爬虫实战项目代码大全(长期更新,欢迎补充)

    Python网络爬虫实战项目代码大全(长期更新,欢迎补充) 阿橙 · 1 个月内 WechatSogou [1]- 微信公众号爬虫.基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫, ...

最新文章

  1. Docker 入门系列(6)- Docker 互联
  2. master线程的主循环,后台循环,刷新循环,暂停循环
  3. 玩转spring boot——结合阿里云持续交付
  4. Linq 中 Any与All
  5. python用psf函数_python学习之-类的内置函数
  6. CString 类型和引用
  7. 混合云架构,如何实现混合云落地?(上)
  8. linux的工程管理器是,Linux工程管理器——make
  9. JavaScript通过style只能获取内联 状态的样式
  10. office 2010 系列问题
  11. 谷歌浏览器 cococut version 视频下载插件配合倍速插件快速下载视频
  12. 【摄影测量】利用经度L、纬度B、大地高h及heading pitch roll飞行姿态角将IMU惯导坐标系转换到WGS84坐标系
  13. mysql查询当前月份前两个月的数据_sql查询指定月份之前的几个月
  14. 2018年8月PMI全球认证人士及《项目管理知识体系指南(PMBOK® 指南)》发行量统计数据公布
  15. 从吃凉的就会肚子疼,不敢吃可爱多以下的雪糕,吃饱后去逛街肚子就会胀,到后来吃饭的时候就胃疼解决办法
  16. HC小区管理系统mysql如何修改密码
  17. 相量的瞬时功率 平均功率 无功功率 视在功率
  18. 获取crumbIssuer
  19. css表格省略号,CSS 文本和表格中文字溢出显示省略号
  20. 【LearningChain】WhenMachineLearningMeetsBlockchainADecentralizedPrivacy-preserving and SecureDesign

热门文章

  1. 针对xps13无法开机,按下电源键亮几秒无反应的问题
  2. influxdb与mysql的比较_DolphinDB与InfluxDB对比测试报告
  3. Python 海象运算符
  4. ajax提示500,AJAX 成功返回json数据,但是提示500错误。
  5. IMX6Q开发板采用Freescale Cortex-a9四核处理器
  6. 再见, Excel!你好, Luckysheet !
  7. 华为机试题107-求解立方根
  8. 【最强星座完美分析】之双子座
  9. redis安装make报致命错误:jemalloc/jemalloc.h:没有那个文件或目录
  10. 为什么Java方法里面不能再嵌套方法?