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

张家界建设网站wordpress mysql port

张家界建设网站,wordpress mysql port,做商城网站建设,响应式网站和自适应网站简介#xff1a;个人学习分享#xff0c;如有错误#xff0c;欢迎批评指正 任务#xff1a;从500彩票网中爬取双色球数据 目标网页地址#xff1a;https://datachart.500.com/ssq/ 一、思路和过程 目标网页具体内容如下#xff1a; ​​​​​ 我们的任务是将上图中… 简介个人学习分享如有错误欢迎批评指正 任务从500彩票网中爬取双色球数据 目标网页地址https://datachart.500.com/ssq/ 一、思路和过程 目标网页具体内容如下 ​​​​​ 我们的任务是将上图中红色、蓝色两种颜色球的数字按行爬取下来。 1.定义目标URL 由于网页普遍具有反爬程序不加修饰的直接访问网页可能会失败所以第一步学会伪装自己。 如何伪装自己呢可以通过找到正常访问网页时的访问状态将自己的这次爬虫模拟成一次正常访问网页因此我们的目标是找到正常访问网页时的User-Agent。User Agent中文名为用户代理(简称 UA它是一个特殊字符串头使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等)。User-Agent就是你访问网页的身份证明。具体操作如下 首先打开目标/任意网页然后点击鼠标右键后选择检查打开网页的HTML 页面。 在HTML 页面里面依次点击网络然后任意点一条网络请求如果没有显示任何网络请求可以点击网页左上角的刷新然后选择标头下拉列表找到User-AgentUser-Agent后面那段内容就是我们用来伪装自己的身份码。 2.发送GET请求获取网页内容 通过上面的步骤我们获得了 url ‘https://datachart.500.com/ssq/’ 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 Edg/126.0.0.0’ 接下来发起网页访问请求代码如下 import requests # 引入requests库用于发送HTTP请求 from lxml import etree # 引入lxml库中的etree模块用于解析HTML文档# 定义目标URL即要爬取的网页地址 url https://datachart.500.com/ssq/# 定义HTTP请求头其中包括User-Agent信息用于伪装成浏览器进行访问 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 Edg/126.0.0.0 }# 发送GET请求获取网页内容并将响应内容存储在resp变量中 resp requests.get(url, headersheaders) # 设置响应内容的编码格式为gbk确保中文字符正常显示 resp.encoding gbk # 打印响应内容检查获取到的HTML文本 print(resp.text)查看print结果我们发现成功获得了网页相关的html表达 3.分析网页内容 接下来对html进行解析获得我们目标内容。 这里我们需要借助工具xpath来辅助内容解析xpath安装教程 安装成功后按CtrlShiftAlt 启动 xpath网页上方出现如下图所示框 找到目标内容方法 例我们的目标是找到红球7在html中的位置。点击如下图左边标记1该命令的含义是在网页中选择一个元素以进行检查即当你把鼠标放在网页的某一位置下面也会自动定位到html中该内容所在位置如图所示把鼠标放在红球数字7位置2下面显示红球数字7在html中所在位置3。 明确目标内容的位置。具体的如下图所示红框内的数字[1,3,4,8,7,3,7]它位于tboby idtdata中的tr层中的td层里面。 因此我们可以通过这个层层关系来找到目标所有红球借助刚才安装的工具xpath,下面一步步演示层层查找过程。 首先在query中添加//tbody[id“tdata”]可以发现右边的results将所有球的数字信息以一个整体返回了。 其次加上筛选条件tr得 但是我们发现原表中还有横线这一情况它不包含数字但是却也被筛选进来了因此我们需要这个情况进行处理 添加条件 tr[not(contains(class,tdbck))] 含义就是取所有不包含classtdbck的tr即排除了上面的横线部分。 需要注意的是我们目标是红球的数字在td中红球数字的格式与普通球的格式不一样如下面红框框里面红球的数字格式。我们发现普通球的格式为class “y101”,而红球为class“chartBall01” 因此进一步添加条件td[contains(class,chartBall01)]即取td里面classchartBall01的值。如下图可以发现所有的红球数字被单独取出来了。 蓝球数字的读取同上下图可以发现所有的蓝球数字被单独取出来了 因此通过xpath的可视化辅助得上面地址 //tbody[idtdata]/tr[not(contains(class,tdbck))]/td[contains(class,chartBall01)]可以获取红球数据 //tbody[id“tdata”]/tr[not(contains(class,“tdbck”))]/td[contains(class,“chartBall02”)]可以获取蓝球数据。 4.获取目标数据 上一步得到了目标数据的地址接下来就是分别获得到目标数据代码如下 # 使用etree.HTML方法将HTML文本解析为一个HTML文档对象 e etree.HTML(resp.text)# 使用XPath语法从HTML文档中提取出红球号码数据 # 这里tr元素中包含class为chartBall01的td元素代表红球号码 reds [tr.xpath(./td[contains(class,chartBall01)]/text()) for tr in e.xpath(//tbody[idtdata]/tr[not(contains(class,tdbck))])]# 使用XPath语法从HTML文档中提取出蓝球号码数据 # 这里td元素中包含class为chartBall02的td元素代表蓝球号码 blues e.xpath(//tbody[idtdata]/tr[not(contains(class,tdbck))]/td[contains(class,chartBall02)]/text())5.保存数据 存为一个txt文件 # 打开一个名为two_tone_ball.txt的文件使用utf-8编码进行写入 with open(two_tone_ball.txt, w, encodingutf-8) as f:# 使用zip函数将红球号码和蓝球号码数据组合在一起逐行写入文件for re, bl, in zip(reds, blues):# 写入格式为红球号码xxx 蓝球号码xxxf.write(f红球号码{re} 蓝球号码{bl}\n) 二、完整python代码 import requests # 引入requests库用于发送HTTP请求 from lxml import etree # 引入lxml库中的etree模块用于解析HTML文档# 定义目标URL即要爬取的网页地址 url https://datachart.500.com/ssq/# 定义HTTP请求头其中包括User-Agent信息用于伪装成浏览器进行访问 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 Edg/126.0.0.0 }# 发送GET请求获取网页内容并将响应内容存储在resp变量中 resp requests.get(url, headersheaders) # 设置响应内容的编码格式为gbk确保中文字符正常显示 resp.encoding gbk # 打印响应内容检查获取到的HTML文本 print(resp.text)# 使用etree.HTML方法将HTML文本解析为一个HTML文档对象 e etree.HTML(resp.text)# 使用XPath语法从HTML文档中提取出红球号码数据 # 这里tr元素中包含class为chartBall01的td元素代表红球号码 reds [tr.xpath(./td[contains(class,chartBall01)]/text()) for tr in e.xpath(//tbody[idtdata]/tr[not(contains(class,tdbck))])]# 使用XPath语法从HTML文档中提取出蓝球号码数据 # 这里td元素中包含class为chartBall02的td元素代表蓝球号码 blues e.xpath(//tbody[idtdata]/tr[not(contains(class,tdbck))]/td[contains(class,chartBall02)]/text())# 打开一个名为two_tone_ball.txt的文件使用utf-8编码进行写入 with open(two_tone_ball.txt, w, encodingutf-8) as f:# 使用zip函数将红球号码和蓝球号码数据组合在一起逐行写入文件for re, bl, in zip(reds, blues):# 写入格式为红球号码xxx 蓝球号码xxxf.write(f红球号码{re} 蓝球号码{bl}\n) 结~~~
http://www.hkea.cn/news/14423155/

相关文章:

  • 温州网站建设方案报价做o2o网站需要多少钱
  • 郑州免费网站建设68网页设计欣赏
  • 网站开发完整项目平台网站开发国内最厉害的公关团队
  • 大丰做网站找哪家好wordpress 主题 轮播
  • 建设个网站需要什么wordpress 视频广告
  • 网站推广的电子邮件推广鄂尔多斯市建设网站
  • 网站设计怎么做图片透明度做动物网站的原因是
  • 如何做公司网站空间沈阳市建设工程项目管理中心
  • 夷陵区住房和城乡建设局网站数据营销系统
  • 网页设计代码模板人物介绍seo工具网站
  • 网站备案怎么找人备哈尔滨哪能买到黄页
  • 素质课网站设计与建设做网站用啥框架
  • 网站嵌入播放器国美电器网站建设的思路
  • 深圳市企业网站seo营销工具湖南营销型网站建设
  • 织梦网站后台管理做网站的工作好做吗
  • 哪些人做数据监测网站投票网站定制
  • 建设一个营销网站有哪些步骤谷歌地图网站代码
  • 庆阳网站设计费用wordpress导出表
  • 微盟网站模板如何做wordpress文章页
  • 有没人做阿里巴巴网站维护的辽宁省网站备案
  • 文创网站建设品牌网站建设方案ppt
  • 网站开发信息发布北京微信网站建设报价
  • 京东做代码的网站吗网站维护包括哪些内容
  • 阿里云网站空间做商城流程wordpress 连接丢失.保存已被禁用_直到您重新连接.
  • 建设网站有哪些内容城阳做网站的公司
  • 做网站优化要多少钱天津都有哪些制作网站
  • 在哪里创建网站网站开发公司怎么找客户
  • 国外设计网站app吗网站设计制作新参考价格
  • 泉州最专业手机网站建设哪家好html中音乐网站怎么做
  • 建视频网站模板郑州网站建设华久