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

遵义交通建设网站砍价网站怎么建设

遵义交通建设网站,砍价网站怎么建设,近期国内新闻,动画设计专业就业前景怎么样一、引言 目前我们处在一个信息快速迭代更新的时代#xff0c;海量的数据以大爆炸的形式出现在网络之中#xff0c;相比起过去那个通过广播无线电、书籍报刊等传统媒介获取信息的方式#xff0c;我们现在通过网络使用搜索引擎几乎可以获得任何我们需要的信息资源。 但与此同…一、引言 目前我们处在一个信息快速迭代更新的时代海量的数据以大爆炸的形式出现在网络之中相比起过去那个通过广播无线电、书籍报刊等传统媒介获取信息的方式我们现在通过网络使用搜索引擎几乎可以获得任何我们需要的信息资源。 但与此同时信息的大爆炸也带来了一定的问题——网络资源的纷繁复杂大大降低了我们获取信息的效率我们所获取的数据中有很大一部分是无效的、多余的垃圾数据。在这样的数据大浪之中我们如何简单地筛选、获取到自己所需要的信息并加以有序地整合呢答案是——使用程序进行对数据进行爬取然后对所获得的数据进行规则地划分与整理以供进一步使用与分析。 二、爬虫简介 网络爬虫也被称为网页蜘蛛网络机器人是一种模拟浏览器行为向网页端发起请求(request)接受网页端发回的响应(response)自动抓取互联网信息的程序。网络爬虫的出现大大地方便了我们对网络上的信息进行高效的收集分析整合降低了人力成本。 三、注意事项 爬虫技术虽然强大大大方便了我们对信息的获取。但需要注意的是所有的技术都需要在法律允许的范围内行使。网上的一些数据比如公民的个人敏感信息或者一些明确标注了不可爬取的数据我们就不应该逾越界限进行爬取同时爬虫程序频繁地向目标网站发送请求可能会使目标服务器承担过大的负载我们在使用爬虫程序时应当遵守网站的爬虫协议与使用条款避免侵犯网站权益。 四、环境准备(Requirements) 一般我们使用Python编写爬虫程序因为使用Python来进行爬虫程序的编写比较简单Python有十分强大的库资源支持我们进行各种各样的操作: Python3.10.14 (选择一个适中的版本即可) requests (pip install requests) bs4 (pip install bs4) 五、爬虫基本流程介绍 编写一个典型的爬虫程序一般需要经历三个步骤 ①模拟浏览器向目标网站发送请求获取网站响应 ②分析网站响应内容定位所需数据位置 ③爬取数据 六、实战训练爬取豆瓣电影top250 接下来我们将以爬取豆瓣电影top250作为案例在爬虫实战中逐个具体讲解每一个步骤如何在python中利用代码进行实现。 首先我们先在python程序中导入我们预先下载好的库 第一步模拟浏览器向目标网站发送请求获取网站响应 首先我们需要明确所需要爬取网页的地址(url):https://movie.douban.com/top250 然后我们需要向这个网站发送请求这里就需要用到requests模块 这行代码就表示向target_url发送请求并把请求的结果赋给response变量我们试着打印一下response 发现返回的结果为 这实际上是一个HTTP响应状态码HTTP响应状态码用来表明HTTP请求的状态主要可以分为五个大类 信息响应类(100-199)成功响应类(200-299)重定向消息(300-399)客户端错误响应(400-499)服务器错误响应(500-599) 所以HTTP响应状态码为418说明我们的HTTP请求被拒绝了。但不要灰心这属于正常现象因为我们没有对我们的爬虫程序做任何伪装会被网站自动地识别为异常请求所以我们的请求理所当然会被拒绝。 那么我们如何对我们的爬虫程序做伪装呢对于豆瓣top250这个网页这种伪装很简单只需要在发送请求时多加一个参数headers来把爬虫程序伪装成浏览器行为即可具体操作如下 我们打开浏览器笔者这里使用谷歌的Chrome浏览器按下F12或者右键鼠标选择“检查”选项进入Network面板可能需要刷新一遍网页才能看到笔者如下的界面这里记录和分析了网页加载过程中由我们向网站发出的网络请求包括请求头、响应头等等关键的信息而我们需要的正是给我们的爬虫程序加上一个请求头(Request Headers)来把自己打扮得像浏览器一些以此“萌”混过关。 我们对豆瓣top250界面进行爬取只需要在添加一个包含User-Agent的headers(如下图所示)我们将具体内容直接复制即可。 具体代码如下 接下来运行程序得到输出 发现Response发生了改变还记得我们之前说的HTTP响应状态码吗加上了header的请求返回了200这说明我们已经成功地向服务器发送了请求。 接下来要获得页面的具体内容就很简单了 这样我们就可以直接获得网页的具体内容了实际上我们得到的内容就是“网页源代码”即源HTML文件而如果想要了解HTML文件的相关信息请移步笔者之前的一篇文章初识HTML文件创建自己的第一个网页,了解HTML文件对理解爬虫程序会有很大的帮助 就这样我们获得了页面的源代码网页上所有的信息都被我们保存在了html_text这个变量里那么接下来如何获取到我们所需要的电影排行数据呢这样就来到了下一步。 第二步第三步分析网站响应内容定位所需数据位置爬取数据 我们得到的页面源代码信息量巨大包含了许多不被我们所需要的数据所以我们要进行一定的滤过操作舍弃掉我们不需要的数据获取我们需要的数据。 在正式讲解获取目标数据的具体操作之前我们不妨回顾一下笔者在先前一篇文章一文讲透如何使用CSS美化HTML界面中介绍CSS样式表语言时提到的在CSS样式表中如何定位目标元素。HTML与CSS提供了一套简单易懂的定位语言这也大大方便了我们在编写爬虫程序时使程序锁定目标数据。 想象一下现在你正面对着这样一个HTML文件那么你该如何用CSS对“肖申克的救赎”这段文本进行定位呢 ​ 我们不难发现我们所需要的信息依次放在ol class”grid_view” li span class”title”下。 ​ 我们再观察一下别的标题是否也是如此 ​ 我们发现“霸王别姬”也依次放在依次放在ol class”grid_view” li span class”title”下。 所以我们需要做的首先是抓取ol class”grid_view”这一ol无序表包含的每一个li都包含了一部影片的信息我们需要在每个li中再去找到span class”title”那么具体该如何实现呢我们就需要请出一个专门用于解析HTML网页的python库——Beautifulsoup了这个库可以使我们很方便地解析HTML界面元素。 首先使程序按HTML文件格式去解析方才得到的网页源代码文本 ​ 之后我们就可以进行元素的定位了 先定位到ol class”grid_view”,使用find函数(返回第一个符合条件的元素)其中attrs规定了元素的属性来辅助定位操作 ​ 得到输出如下第一次定位成功 ​ 接着我们就需要定位到ol下的每一个li,由于存在很多li都是我们所需要的我们使用findAll函数表示获取所有满足我们定位要求的元素 ​ 得到输出如下表明第二次定位成功 ​ 接下来就到了获取电影标题的环节对于每一个li我们需要定位到span class”title”值得注意的是每一个li对应的标题数量并不相同但这并无大碍。 ​ ​ 我们可以直接用find爬取每个li下的第一个标题: ​ 得到输出 ​ 我们发现我们所爬取的title实际上是整个元素那么我们如何只截取其中的文本内容呢很简单只需要取film_title.text即可。python真方便TAT ​ 但不要忘了我们实战的目标是什么。我们需要爬取的是豆瓣top250这上面爬取的内容显然没有250个那么我们只需要依次访问各个排行界面进行同样的爬取操作即可。我们来到榜单的第二页与第三页发现网站的地址依次为 https://movie.douban.com/top250?start25filter https://movie.douban.com/top250?start50filter ​ ​ 聪明如你一定发现了规律所在那我们不妨把start后面改为0发现我们回到了熟悉的第一页。 ​ 事实上我们删掉末尾的filter也可以访问相应的网页。 那么事情就变得好办了我们想要爬取top250只需要写一个for循环来更新我们发送请求的target_url即可https://movie.douban.com/top250?starti,其中i取值为 range(0,250,25) 具体代码实现如下 ​ 不妨把获取到的数据存储到一个本地文档中 ​ 检查文档爬取成功 ​ 至此我们的爬虫入门讲解与实战训练就结束了恭喜您成功入门爬虫也感谢您的浏览 最后附上源代码 import requests # requests库用于向目标网站发送请求 from bs4 import BeautifulSoup # 用于解析HTML界面film_cnt 0with open(films_top250.txt,w,encodingutf-8) as films_w:for i in range(0,250,25):target_url fhttps://movie.douban.com/top250?start{i}headers_ {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36}response_header requests.get(target_url,headersheaders_)html_text response_header.texthtml_soup BeautifulSoup(html_text,html.parser) # 把获取的网页源代码文本数据按html去解析films_ol html_soup.find(ol,attrs{class:grid_view})film_li_list films_ol.findAll(li)for film_li in film_li_list:# print(film_li)film_title film_li.find(span,attrs{class:title})print(film_title.text)film_cnt 1films_w.write(f{film_cnt}.{film_title.text}\n)
http://www.pierceye.com/news/124716/

相关文章:

  • 为什么要建设应急管理网站sketch做网站
  • 做的网站在百度上搜不出来的宁波关键词优化平台
  • 哪里有手机网站建设公司有道网站收录提交入口
  • 赣州网站建设较好的公司贵州网站建设hsyunso
  • 网站建设和管理是教什么科目鹤壁网站建设鹤壁
  • 网站域名和邮箱域名解析国外网站国内做二维码
  • 万万州州微微网站网站建建设设福州建设网站效果图
  • 长安网站建设详细教程鸿科经纬教网店运营推广
  • 微信营销模式有seo短视频网页入口引流推广
  • 做商城网站简单吗长春网站建设服务
  • 工厂弄个网站做外贸如何app开发报价公司
  • 网销网站建设流程如何创建网站挣钱
  • 韶关网站制作手机推广app
  • Linux做视频网站网速均衡网页编辑实践报告
  • 做ppt好的模板下载网站如何查看网站空间商
  • 武义公司网站建设公司如何建设网站首页
  • hdwiki做网站罗湖网站建设联系电话
  • 深圳网站建设 利科技wordpress插件 手机版
  • 南通优普网站建设团队课程设计模板
  • 网站建设与维护的选择题浦东新区做网站
  • 做视频网站视频放在哪里网站备案目的
  • 建设部安全事故通报网站怎么更改网站的备案号
  • 重庆网站建设维护网络推广引流方法
  • 精品网站开发分销网站建站
  • 建设一个教程视频网站需要什么资质策划书案例范文
  • 郑州汉狮做网站的大公司海尔网站建设
  • 成都网站制作成都重庆网红景点排名
  • 广西南宁市网站制作公司制作图片的软件加字体
  • 新手搭建网站教程品牌推广费用预算
  • 广州网站设计网站制作竞价托管多少钱