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

网站空间多少钱一年管理咨询的主体包括哪些

网站空间多少钱一年,管理咨询的主体包括哪些,东莞最新消息今天,焦作网站建设哪家权威目录 AJAX 简介 任务目标 创建Ajax网站 创建服务器程序 编写爬虫程序 AJAX 简介 AJAX(Asynchronous JavaScript And XML,异步 JavaScript 及 XML) Asynchronous 一种创建交互式、快速动态网页应用的网页开发技术通过在后台与服务器进行…

目录 

AJAX 简介

任务目标

创建Ajax网站

创建服务器程序

编写爬虫程序


AJAX 简介

        AJAX(Asynchronous JavaScript And XML,异步 JavaScript 及 XML)

  1. Asynchronous 一种创建交互式快速动态网页应用的网页开发技术
  2. 通过在后台与服务器进行少量数据交换,无需重新加载整个网页的情况下,能够异步更新部分网页的技术。
  3. AJAX是一种新的技术组合,即基于因特网标准,组合以下技术:
  • XMLHttpRequest 对象(与服务器异步交互数据)
  • JavaScript/DOM(显示/取回信息)
  • CSS(设置数据的样式)
  • XML(常用作数据传输的格式)


任务目标

  1. 现在的网页中大量使用了Ajax技术,通过JavaScript在客户端向服务器发出请求,服务器返回数据给客户端,客户端再把数据展现出来,这样做可以减少网页的闪动, 让用户有更好的体验。
  2. 我们先设计一个这样的网页,然后使用 Selenium 编写爬虫程序爬取网页的数据。

创建Ajax网站

phone.html 如下:

注:phone.html 文件要位于 templates 这个目录下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body onload="init()">
<div>选择品牌<select id="marks" onchange="display()"></select></div>
<div id="phones"></div>
</body>
<script>function init() {var marks = new Array("华为", "苹果", "三星");var selm = document.getElementById("marks");for (var i = 0; i < marks.length; i++) {selm.options.add(new Option(marks[i], marks[i]));}selm.selectedIndex = 0;display();}function display() {try {var http = new XMLHttpRequest();var selm = document.getElementById("marks");var m = selm.options[selm.selectedIndex].text;http.open("get", "/phones?mark=" + m, false);http.send(null);msg = http.responseText; //传递参数,一般post方法使用,get不传参数obj = eval("(" + msg + ")");  //eval(”(执行的内容)”);加上圆括号的目的是迫使eval函数在运行JavaScript代码的时候强制将括号内的表达式转化为JavaScript对象。// JS中将JSON的字符串解析成JSON数据格式s = "<table width='200' border='1'><tr><td>型号</td><td>价格</td></tr>"for (var i = 0; i < obj.phones.length; i++) {s = s + "<tr><td>" + obj.phones[i].model + "</td><td>" + obj.phones[i].price + "</td></tr>";}s = s + "</table>";document.getElementById("phones").innerHTML = s;} catch (e) {alert(e);}}
</script>
</html>

创建服务器程序

服务器server.py程序如下:

import flask
import jsonapp = flask.Flask(__name__)@app.route("/")
def index():return flask.render_template("phone.html")@app.route("/phones")
def getPhones():mark = flask.request.values.get("mark")phones = []if mark == "华为":phones.append({"model": "P9", "mark": "华为", "price": 3800})phones.append({"model": "P10", "mark": "华为", "price": 4000})elif mark == "苹果":phones.append({"model": "iPhone5", "mark": "苹果", "price": 5800})phones.append({"model": "iPhone6", "mark": "苹果", "price": 6800})elif mark == "三星":phones.append({"model": "Galaxy A9", "price": 2800})s = json.dumps({"phones": phones})  # python对象转化为json字符串return sapp.run()

网站结果如下:
 


编写爬虫程序

(1) 创建一个浏览器对象driver,使用这个driver对象模拟浏览器。

(2) 访问http://127.0.0.1:5000网站,爬取第一个页面的手机数据。

(3) 从第一个页面中获取<select>中所有的选择项目options。

(4) 循环options中的每个option,并模拟这个option的click点击动作,触发 onchange

爬虫程序 WebScraper.py 如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import timedef spider(index):trs = driver.find_elements(By.TAG_NAME, "tr")for i in range(1, len(trs)):  # 从第二行开始查找和提取# print(i)tds = trs[i].find_elements(By.TAG_NAME, "td")model = tds[0].textprice = tds[1].textprint("%-16s%-16s" % (model, price))select = driver.find_element(By.ID, "marks")options = select.find_elements(By.TAG_NAME, "option")if index < len(options) - 1:index += 1options[index].click()time.sleep(3)spider(index)chrome_options = Options()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome()
driver.get("http://127.0.0.1:5000")spider(0)  # 从option=0开始driver.close()

运行结果:


下一篇文章:5.6 Selenium等待HTML元素

http://www.yayakq.cn/news/565669/

相关文章:

  • 小工程承包app英德网站seo
  • 网站建设主要由哪几个部分组成公众号文章怎么添加小程序
  • 网站免费正能量直接进入老狼南宁360网
  • 小程序推广计划怎么赚钱河南企业站seo
  • 东莞做网站 自媒体金科科技 做网站
  • wix网站做seo如何专业网站建设在哪里
  • 建筑设计网站大全网站下载app最新版
  • 百度seo站长工具php网站 服务器
  • 成都网站定制互联网关键词优化
  • 视觉中国网站建设公司diy网站建设源码
  • 建筑网官方网站东莞人才市场招聘信息2023
  • 南京网站优化步骤建筑企业资质
  • 旅游型网站的建设背景图片深圳制作公司网页
  • 建设网站如入什么费百度网网站建设的目标
  • 网站内容收费广州知名网站建设
  • 长沙移动网站正规的手游代理平台
  • 色弱做网站应用商城软件下载 app
  • 电子商务网站建设外包服务的企业用手机怎么制作app软件
  • 营销型网站建设的一般过程包括哪些环节网站建设文案模板
  • 朝阳区手机网站制作服务花艺企业网站建设规划
  • 定襄网站建设wordpress 插件 打不开
  • 网站蓝色导航栏代码兰州网络公司网站
  • 微信与与网站建设自定义表情在线制作
  • python工程打包供网站开发调用公司想做个网站怎么办
  • 网站模板间距在建设厅网站怎么办建造师延期
  • 找美工做网站多少钱网页广告关不掉怎么办
  • 一步一步教你做网站后台视频twcms
  • 哪个免费自助建站系统最好用电商网站建设公司排名
  • 网站工作有哪些内容现在做网络的哪个方面最挣钱
  • 国外做彩票网站推广是合法的吗美食网站开发的目的