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

个人网站论文设计内容简介百度推广开户费用

个人网站论文设计内容简介,百度推广开户费用,江西省城乡住房建设厅网站,石家庄网站制作找谁引言 在当今的信息时代#xff0c;互联网上的数据如同浩瀚的海洋#xff0c;充满了无尽的宝藏。Python爬虫作为一种高效的数据抓取工具#xff0c;能够帮助我们轻松地获取这些数据#xff0c;并进行后续的分析和处理。本文将深入探讨Python爬虫的原理#xff0c;并结合实战…引言 在当今的信息时代互联网上的数据如同浩瀚的海洋充满了无尽的宝藏。Python爬虫作为一种高效的数据抓取工具能够帮助我们轻松地获取这些数据并进行后续的分析和处理。本文将深入探讨Python爬虫的原理并结合实战案例帮助读者快速掌握爬虫技术。 一、Python爬虫原理 1、爬虫是什么 如果我们把互联网比作一张大的蜘蛛网数据便是存放于蜘蛛网的各个节点而爬虫就是一只小蜘蛛沿着网络抓取自己的猎物数据爬虫指的是向网站发起请求获取资源后分析并提取有用数据的程序。 从技术层面来说就是 通过程序模拟浏览器请求站点的行为把站点返回的HTML代码/JSON数据/二进制数据图片、视频 爬到本地进而提取自己需要的数据存放起来使用 2、爬虫的基本流程 Python爬虫的核心原理是通过模拟浏览器的行为自动访问目标网站并抓取其中的数据。这个过程主要包括以下几个步骤 发送请求使用Python中的第三方库如requests向目标网站发送HTTP请求获取网页的HTML代码。解析网页利用Python的解析库如BeautifulSoup、lxml等对获取的HTML代码进行解析提取出所需的数据。存储数据将解析得到的数据存储到本地文件、数据库或其他存储介质中以便后续分析和处理。 用户获取网络数据的方式 方式1浏览器提交请求---下载网页代码---解析成页面 方式2模拟浏览器发送请求(获取网页代码)-提取有用的数据-存放于数据库或文件中 爬虫要做的就是方式2。 1、发起请求 使用http库向目标站点发起请求即发送一个Request Request包含请求头、请求体等  Request模块缺陷不能执行JS 和CSS 代码 2、获取响应内容 如果服务器能正常响应则会得到一个Response Response包含htmljson图片视频等 3、解析内容 解析html数据正则表达式RE模块第三方解析库如Beautifulsouppyquery等 解析json数据json模块 解析二进制数据:以wb的方式写入文件 4、保存数据 数据库MySQLMongdb、Redis 文件 接下来我们将通过一个实战案例来演示如何使用Python爬虫抓取目标网站的数据。 3、客户端HTTP请求格式 在网络传输中HTTP协议非常重要该协议规定了客户端和服务器端请求和应答的标准。HTTP协议能保证计算机正确快速地传输超文本文档并确定了传输文档中的哪一部分以及哪一部分内容首先显示如文本先于图形等。 根据HTTP协议的规定客户端发送了一个HTTP请求到服务器的请求消息由请求行、请求头部、空行以及请求数据四个部分组成。 下面结合一个典型的HTTP请求示例详细介绍HTTP请求信息的各个组成部分 Get https://www.baidu.com/ HTTP/1.1 Host: www.baidu.com Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,image/apng,/;q0.8,application/signed-exchange;vb3;q0.7 Referer: https://www.baidu.com/link?url8vUrPYDUaSkXWxUEOlT8QhvB5kMr1o6I27EP0NJICmGwdeqide69078350001654000000003641051fc Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q0.9 Cookie: BIDUPSID498703BAB592E42B1A4200A2F69121AD; PSTM1657099499; MCITY-291%3A; BAIDUID498703BAB592E42BC6776C4114ED28E6:SL0:NR10:FG1; BD_UPN12314753; BDUSSJ5OEFjZ3pBb05tR3QxNUo0TEVJdjVpYzQ5Q2FORC04TnlrMHhFYkhRMnNKeGxrRVFBQUFBJCQAAAAAAQAAAAEAAAAXv8pawrfIy73U1qpUYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKya8WOsmvFjLT; BDUSS_BFESSJ5OEFjZ3pBb05tR3QxNUo0TEVJdjVpYzQ5Q2FORC04TnlrMHhFYkhRMnNKeGxrRVFBQUFBJCQAAAAAAQAAAAEAAAAXv8pawrfIy73U1qpUYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKya8WOsmvFjLT; 1请求行 第一行为请求行包含了请求的方法URL地址和协议版本。GET是请求方法https//www.baidu.com是URL地址HTTP/1.1指定了协议版本。 不同的请求方法含义不同如下 序号   方法   描述1   GET   请求指定的页面信息并返回实体主体2   POST   向指定资源提交数据进行处理请求如提交表单或者上传文件数据被包含在请求体中。Post请求可能会导致新的资源的建立和已有资源的修改3   HEAD   类似于GET请求只不过返回的响应中没有具体的内容用于获取报头4   PUT   这种请求方式下从客户端向服务器传送的数据取代指定的文档的内容5   DELETE   请求服务器删除指定的页面6   CONNECT   HTTP1.1协议中预留给能够将连接改为管道方式的代理服务器7   OPTIONS   允许客服端查看服务器的性能8   TRACE   回显服务器收到的请求主要用于测试或诊断 其中GET和POST请求最常用区别在于 GET是从服务器上获取指定页面信息POST是向服务器提交数据并获取页面信息。 GET请求参数都显示在URL上服务器根据该请求所包含URL中的参数来产生响应内容。由于请求参数都暴露在外所以安全性不高。 POST请求参数在请求体中消息长度没有限制而且采取隐式发送通常用来向HTTP服务器提交量比骄大的数据如请求中包含许多参数或者文件上传的操作POST请求的参数不在URL中而在请求体中在安全性方面比GET请求要高。 2请求报头 请求行下是若干个请求报头下面介绍常用的请求报头及含义 Host主机和端口号指定被请求的资源的Internet主机和端口号对应网址URL中的Web名称和端口号通常属于URL的Host部分。 Connection(连接类型表示客户端与服务端的连接类型。 Upgrade-Insecure-Requests(升级为HTTPS请求表示升级不安全的请求会在加载HTTP资源时自动替换成HTTPS请求让浏览器不再显示HTTPS页面中的HTTP请求警报。HTTPS时以安全为目标的HTTP通道所以在HTTPS承载的页面上不允许出现HTTP请求一旦出现就会提示或报错。 User-Agent(浏览器名称表示客户端身份的名称通常页面会根据不同的User-Agent信息自动做出适配甚至返回不同的响应内容。 Accept(传输文件类型指浏览器或其他客户端可以接受的MIME(Multipurpose Internet Mail Extensions,多用途因特网邮件扩展)文件类型服务器可以根据他判断并返回适当的文件格式 Referer(页面跳转来源表明产生请求的网页来自于哪个URL用户是从该Referer页面访问到当前请求的页面。这个属性可以用来跟踪Web请求来自哪个页面是从什么网站下载下来的有时下载某网站的图片时需要对应的Referer否则是无法下载图片那是因为做了防盗链。原理就是根据Referer去判断URL是否是本网站的地址如果不是则拒绝如果是就可以下载。 4. 服务器HTTP响应格式 HTTP响应报文由四部分组成分别是状态行响应报头空行和响应正文。 响应状态码 响应状态码由3位数字组成其中第一位数字定义了响应的类别有5种可能取值常见的响应状态码如下 100~199表示服务器成功接收部分请求要求客户端继续提价奥其余请求才能完成整个处理过程。 200~299表示服务器成功接受请求并已完成整个处理过程。常用的状态码为200表示OK请求成功。 200~399为完成请求客户需进一步细化请求。例如请求的资源已经移动到一个新的地址。常用状态码包括302表示所请求的页面已经临时转移至新的URL、307和304表示使用缓存资源。 400~499客户端的请求有错误常用状态码包括404表示服务器无法找到被请求的页面和403表示服务器拒绝访问权限不够。 500~599服务器端出现错误常用的状态码为500表示请求未完成服务器遇到不可预知的情况。   二、Python爬虫实战 2、实战案例抓取豆瓣电影Top250榜单 1. 发送请求 首先我们需要向豆瓣电影Top250榜单的URL发送请求获取网页的HTML代码。这里我们使用requests库来实现 import requests url https://movie.douban.com/top250 headers { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3} response requests.get(url, headersheaders) html response.text 2. 解析网页 接下来我们需要对获取的HTML代码进行解析提取出电影榜单的数据。这里我们使用BeautifulSoup库来实现 from bs4 import BeautifulSoup soup BeautifulSoup(html, lxml) movie_list soup.find_all(div, class_item) for movie in movie_list: title movie.find(span, class_title).text info movie.find(p).text.strip().split(\n) rating_num float(movie.find(span, class_rating_num).text) print(f标题{title}) print(f信息{info}) print(f评分{rating_num}) print(----) 3. 存储数据 最后我们可以将解析得到的数据存储到本地文件中以便后续分析和处理 with open(douban_top250.txt, w, encodingutf-8) as f: for movie in movie_list: title movie.find(span, class_title).text info movie.find(p).text.strip().split(\n) rating_num float(movie.find(span, class_rating_num).text) f.write(f标题{title}\n) f.write(f信息{info}\n) f.write(f评分{rating_num}\n) f.write(----\n) 三、注意事项与总结 在使用Python爬虫时我们需要注意以下几点 遵守robots.txt协议在爬取网站数据时要遵守目标网站的robots.txt协议避免对网站造成不必要的负担。设置合理的请求频率和间隔时间为了避免对目标网站造成过大的压力我们需要设置合理的请求频率和间隔时间。处理反爬虫机制一些网站会采用反爬虫机制来防止数据被抓取我们需要采取相应的措施来绕过这些机制。尊重数据版权在爬取和使用数据时要尊重数据的版权和隐私避免侵犯他人的权益。 总结来说Python爬虫是一种强大的数据抓取工具通过掌握其原理和实战技巧我们可以轻松地获取互联网上的数据并进行后续的分析和处理。然而在使用爬虫时我们也需要遵守相关的规定和注意事项确保数据的合法性和安全性。
http://www.w-s-a.com/news/776549/

相关文章:

  • 众筹网站平台建设工信部网站备案系统
  • 网站301重定向代码wordpress 加子目录
  • 淄博网站制作优化推广asp做学生信息网站
  • 海口招商建设有限公司网站淮安哪有专业做网站的公司
  • 喀什哪有做网站的国内正规seo网络推广
  • 网站设计初步规划公司网页打不开是什么原因
  • 深圳企业网站建设推广服务php做的商城网站设计论文
  • 韩雪冬网站手机网站开发 宽度
  • 奉贤专业做网站新手怎么做企业网站
  • 做网站用哪几个端口 比较好手机号网站源码
  • 手机免费代理ip网站那个旅游网站做攻略最好
  • 西安做网站找哪家公司好苏州专业网站建设开发
  • dedecms如何做网站网站设计实施方案
  • 网站建设合约品牌设计有哪些
  • 织梦企业门户网站宝塔搭建wordpress网站
  • 网站为什么没有排名了11月将现新冠感染高峰
  • 网站开发维护专员岗位职责辽阳企业网站建设
  • 做外国订单有什么网站网站设计论文提纲
  • 商城网站建设报价方案导师让做网站
  • 清远市企业网站seo联系方式动易官方网站
  • 手机上怎么做能打开的网站一级域名和二级域名跨域
  • 网站首页效果图wordpress 在线教育
  • 电商网站开发团队广西桂林商贸旅游技工学校
  • 网站模板文件怎么下载东莞常平镇邮政编码
  • 建网站需要什么wordpress误删的后果
  • wordpress无插件实现网站地图做阿里巴巴网站店铺装修费用
  • 英文互动网站建设南宁住房和城乡建设局网站
  • 威海微网站建设乐清建网站哪家强
  • 网站和app的开发成本saas系统开发教程
  • ps切片工具做网站大气简洁网站