当前位置: 首页 > news >正文

手机网站制作细节设计网站的基本步骤

手机网站制作细节,设计网站的基本步骤,建设项目环境影响评价登记表网站,猜艺士科技网站建设本文讲解 Python 爬虫实战案例#xff1a;抓取百度贴吧#xff08;https://tieba.baidu.com/#xff09;页面#xff0c;比如 Python爬虫吧、编程吧#xff0c;只抓取贴吧的前 5 个页面即可。今天一个毕业学生问到一个问题#xff1a;不清楚编写爬虫的步骤#xff0c;不…本文讲解 Python 爬虫实战案例抓取百度贴吧https://tieba.baidu.com/页面比如 Python爬虫吧、编程吧只抓取贴吧的前 5 个页面即可。今天一个毕业学生问到一个问题不清楚编写爬虫的步骤不知道如何下手故简单的给该学生简单总结了一下编写步骤有了编写步骤在以后编写爬虫按步骤来兴许会有事半功倍的效果本文我们将使用面向对象的编程方法来编写程序。注意本文只简单做步骤编写不做数据的分析。步骤如下 寻找URL变化规律 接下来寻找要爬取页面的 URL 规律搜索“Python爬虫”后此时贴吧第一页的的 url 如下所示https://tieba.baidu.com/f?ieutf-8kwpython爬虫frsearch点击第二页其 url 信息如下https://tieba.baidu.com/f?kwpython爬虫ieutf-8pn50点击第三页url 信息如下https://tieba.baidu.com/f?kwpython爬虫ieutf-8pn100重新点击第一页url 信息如下https://tieba.baidu.com/f?kwpython爬虫ieutf-8pn0如果还不确定您可以继续多浏览几页。最后您发现 url 具有两个查询参数分别是 kw 和 pn并且 pn 参数具有规律性如下所示 第n页pn(n-1)*50#参数params pn(page-1)*50 params{kw:name,pn:str(pn)}url 地址可以简写为 https://tieba.baidu.com/f?kwpython爬虫pn450 编写爬虫程序 以面向对象方法编写爬虫程序时思路简单、逻辑清楚非常容易理解,我们可以按照以下步骤进行编写 1) 请求函数 请求函数最终的结果是返回一个 HTML 对象以方便后续的函数调用它。 2) 解析函数 解析函数用来解析 HTML 页面常用的解析模块有正则解析模块、bs4 解析模块。通过分析页面提取出所需的数据在后续内容会做详细介绍。 3) 保存数据函数 该函数负责将抓取下来的数据保至数据库中比如 MySQL、MongoDB 等或者将其保存为文件格式比如 csv、txt、excel 等。 4) 入口函数 入口函数充当整个爬虫程序的桥梁通过调用不同的功能函数实现数据的最终抓取。入口函数的主要任务是组织数据比如要搜索的贴吧名、编码 url 参数、拼接 url 地址、定义文件保存路径。 下面以类的形式编写爬虫程序并在类下编写不同的功能函数代码如下所示 from urllib import request from urllib import parse from fake_useragent import UserAgent import time import random# 定义爬虫类 class TiebaSpider(object):# 初始化url实例属性def __init__(self):self.url https://tieba.baidu.com/f?kw{}pn{}# 请求函数得到页面def get_html(self, url):# 使用第三方库设置UAheaders {User-Agent: UserAgent().firefox}# 重构请求对象req request.Request(urlurl, headersheaders)response request.urlopen(req)# 返回整个页面return response.read().decode(utf-8)# 解析函数此处代码暂时省略def parse_html(self, html):pass# 该函数负责将抓取下来的数据保至数据库中比如 MySQL、MongoDB 等或者将其保存为文件格式比如 csv、txt、excel 等def save_html(self, filename, html):with open(filename, w, encodingutf-8) as f:f.write(html)# 入口函数def run(self):kw input(请输入要爬取的关键字)parse_kw parse.quote(kw)begin int(input(请输入开始页))end int(input(请输终止始页))pn (begin - 1) * 50for i in range(begin, end 1):# 重构文件名称filename f{kw}_{i}.html# 拼接urlurl self.url.format(parse_kw, pn)# 调用保存方法self.save_html(filename, self.get_html(url))print(f第{i}页抓取成功)# 每爬取一个页面随机休眠2-3秒钟的时间time.sleep(random.randint(2, 3))#以脚本的形式启动爬虫 if __name__ __main__:start time.time()spider TiebaSpider()spider.run()stop time.time()print(爬取完成共耗%.2f时间 % (stop - start)) 程序执行后爬取的文件将会保存至 Pycharm 当前工作目录输出结果 请输入要爬取的关键字python 请输入开始页1 请输终止始页5 第1页抓取成功 第2页抓取成功 第3页抓取成功 第4页抓取成功 第5页抓取成功 爬取完成共耗23.88时间爬虫程序结构总结 用面向对象的方法编写爬虫程序时逻辑结构较为固定总结如下 # 程序结构 class xxxSpider(object):def __init__(self):# 定义常用变量,比如url或计数变量等def get_html(self):# 获取响应内容函数,使用随机User-Agentdef parse_html(self):# 使用正则表达式来解析页面提取数据def write_html(self):# 将提取的数据按要求保存csv、MySQL数据库等def run(self):# 主函数用来控制整体逻辑if __name__ __main__:# 程序开始运行时间spider xxxSpider()spider.run()注意掌握以上编程逻辑有助于您后续的学习。
http://www.w-s-a.com/news/749838/

相关文章:

  • 网站服务器组建网站案例上海
  • 盘锦949公社最新招聘优化大师免费版
  • 国外有哪些网站是做弱电的中国国家培训网正规吗
  • 30分钟网站建设教程视频全屋整装120平米的多少钱
  • 生成链接的网站aso优化平台
  • 策划网站建设方案电商扶贫网站建设
  • 网站策划建设方法企业网站建设问题研究
  • 昆明专业网站建设的公司帮别人制作wordpress赚钱吗
  • 高校校园网站建设天水市建设局网站公告
  • 北京网站建设需要花多少钱企业建设网站的目的是
  • 网站模板 免费百度seo优化招聘
  • 过年做那些网站能致富怎样免费建立自己网站
  • 网站去哪里备案长沙网络推广
  • 企业网站规划书vue适合什么样的网站开发
  • 个人网站备案名字网站设计的提案
  • 网站自己做还是找人做常州钟楼区邹区建设局网站
  • 网站文件上传wordpress修改asp做微网站
  • 妇女之家网站建设方案英语不行如何编程做网站
  • 深圳企业网站建设推广服务网站托管一年多少钱
  • wordpress 百度地图api网络seo天津
  • 网站营销咨询顾问餐饮加盟网站建设方案
  • 网站后台管理系统的重要技术指标wordpress下单邮件通知的实现
  • 通化县住房和城乡建设局网站定制网站收费
  • 湖北做网站教程哪家好成都网站建设询q479185700上快
  • 网站的seo方案鹰潭做网站的公司
  • 高级室内设计网站太原网站设计费用
  • 智信建设职业培训学校网站深圳做网站建设开发
  • 宣城市住房和城乡建设局网站网站界面设计专利
  • 免费个人网站建站申请如何做内网网站
  • 福州专业网站建设怎么做黄骅港怎么读