首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]揭秘Python高效抓取数据结构技巧:轻松掌握数据爬取与处理之道

发布于 2025-07-09 21:30:40
0
87

引言在当今数据驱动的世界中,从互联网上高效抓取和结构化数据是一项至关重要的技能。Python作为一种广泛使用的编程语言,因其强大的库和框架而成为数据抓取的首选工具。本文将深入探讨Python高效抓取数...

引言

在当今数据驱动的世界中,从互联网上高效抓取和结构化数据是一项至关重要的技能。Python作为一种广泛使用的编程语言,因其强大的库和框架而成为数据抓取的首选工具。本文将深入探讨Python高效抓取数据的方法,包括数据爬取的基本原理、常用库的使用,以及数据处理的最佳实践。

数据爬取的基本原理

1. 网页结构解析

了解HTML和网页结构是进行数据爬取的基础。HTML通过标签和属性来组织内容,如</code>、<code><a></code>、<code><p></code>等。了解这些标签的用法有助于定位所需数据的位置。</p><h3>2. HTTP请求</h3><p>使用Python发送HTTP请求是获取网页内容的关键步骤。<code>requests</code>库是Python中用于发送HTTP请求的常用库。</p><h3>3. 数据提取</h3><p>提取网页数据通常使用<code>BeautifulSoup</code>或<code>lxml</code>库。这些库可以解析HTML内容,并允许开发者以Pythonic的方式提取所需的数据。</p><h2>常用库的使用</h2><h3>1. Requests库</h3><pre><code class="language-python">import requests url = 'https://example.com' response = requests.get(url) # 检查请求是否成功 if response.status_code == 200: # 解析HTML内容 from bs4 import BeautifulSoup soup = BeautifulSoup(response.text, 'html.parser') # 提取数据 titles = soup.find_all('title') for title in titles: print(title.get_text()) else: print('Failed to retrieve data')</code></pre><h3>2. BeautifulSoup库</h3><pre><code class="language-python">from bs4 import BeautifulSoup # 假设response是requests.get()返回的响应对象 soup = BeautifulSoup(response.text, 'html.parser') # 提取特定标签的内容 data = soup.find_all('div', class_='data-class') for item in data: print(item.get_text())</code></pre><h3>3. LXML库</h3><pre><code class="language-python">from lxml import etree # 解析HTML内容 tree = etree.HTML(response.text) # 使用XPath提取数据 titles = tree.xpath('//div[@class="data-class"]/text()') for title in titles: print(title)</code></pre><h2>数据处理</h2><h3>1. 数据清洗</h3><p>在提取数据后,通常需要进行清洗以去除无用的信息,如空格、HTML标签等。</p><pre><code class="language-python">import re # 假设text是需要清洗的字符串 cleaned_text = re.sub(r'\s+', ' ', text).strip()</code></pre><h3>2. 数据存储</h3><p>处理后的数据可以存储到文件、数据库或其他存储系统中。</p><pre><code class="language-python">import csv # 假设data是需要写入的数据列表 with open('output.csv', 'w', newline='') as file: writer = csv.writer(file) writer.writerows(data)</code></pre><h2>高效抓取数据的技巧</h2><h3>1. 使用代理和User-Agent</h3><p>为了防止被目标网站封禁,可以使用代理和设置合适的User-Agent。</p><pre><code class="language-python">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, headers=headers)</code></pre><h3>2. 异步请求</h3><p>使用<code>aiohttp</code>等库可以发送异步HTTP请求,提高数据抓取的效率。</p><pre><code class="language-python">import aiohttp async def fetch(session, url): async with session.get(url) as response: return await response.text() async def main(): async with aiohttp.ClientSession() as session: html = await fetch(session, 'https://example.com') # 处理HTML内容 # 运行异步主函数 import asyncio asyncio.run(main())</code></pre><h3>3. 节流请求</h3><p>为了避免对目标网站造成过大压力,可以实施节流策略,如限制请求频率。</p><pre><code class="language-python">import time def throttle_requests(interval): def decorator(func): last_called = None def wrapper(*args, **kwargs): nonlocal last_called if last_called is None or (time.time() - last_called) > interval: last_called = time.time() return func(*args, **kwargs) return wrapper return decorator @throttle_requests(1.0) # 每秒发送一次请求 def fetch_data(url): # 发送请求并获取数据 pass</code></pre><h2>总结</h2><p>通过使用Python进行数据爬取和处理,可以有效地从互联网上获取所需信息。掌握上述技巧和工具,可以帮助开发者高效地从各种来源抓取和结构化数据。记住,在抓取数据时始终遵守法律法规和网站的使用条款,尊重数据版权和个人隐私。</p> </div> </div> <div class="mb-3 mt-3"> </div><div class="text-center"> <button type="button" class="btn btn-outline-secondary" onclick="collect('1034647')"><i class="bi bi-bookmark-star mr-1"></i>收藏</button> <button type="button" class="btn btn-outline-secondary ml-2" data-toggle="modal" data-target="#staticBackdrop"> <i class="bi bi-share mr-1"></i>分享</button> <div class="modal fade" id="staticBackdrop" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="staticBackdropLabel">社交分享</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <img src="https://api.qrtool.cn/?text=https://www.huaqu.club/topic/show/1034647&size=200&margin=20&level=H"> <p>扫一扫分享</p> <button type="button" class="btn btn-success" onclick="shareToQzone()">QQ分享</button><button type="button" class="btn btn-warning" onclick="shareToWeibo()">微博分享</button> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button> </div> </div> </div></div> </div> <div></div> <div class="mt-3"></div> </div> </div> <div class="card"> <div class="card-header">评论</div> <div class="card-body"> <div class="commentform"> <div class="tac pd20 fw300"> <a href="https://www.huaqu.club/user/login">登录</a> | <a href="https://www.huaqu.club/user/register">注册</a> </div> </div> </div> </div> <div class="card"> <div class="card-header">一个月内的热帖推荐</div> <div class="card-body commlist"> <ul> <li><a href="https://www.huaqu.club/topic/show/1237163">Python入门攻略:数值变字符,轻松转换技巧解析</a></li> <li><a href="https://www.huaqu.club/topic/show/1237640">告别繁琐,Python编程轻松实现持久打开文件!</a></li> <li><a href="https://www.huaqu.club/topic/show/1250842">Python中遇到异常,这样应对:掌握6招轻松解决异常问题,告别代码“黑屏”困扰!</a></li> <li><a href="https://www.huaqu.club/topic/show/1236423">Python代码轻松创建文件夹:不存在则自动生成,告别手动烦恼</a></li> <li><a href="https://www.huaqu.club/topic/show/1239291">揭秘Python查找列表中小于特定数字的神奇技巧</a></li> <li><a href="https://www.huaqu.club/topic/show/1246814">Python中“与”、“或”、“非”操作符的应用指南</a></li> <li><a href="https://www.huaqu.club/topic/show/1240639">轻松学会Python:如何高效地将布尔值添加到列表中</a></li> <li><a href="https://www.huaqu.club/topic/show/1245563">轻松掌握Python:字符串自由输入全攻略</a></li> <li><a href="https://www.huaqu.club/topic/show/1237862">Python编程必备:快速掌握键盘符号输入技巧</a></li> <li><a href="https://www.huaqu.club/topic/show/1246130">揭秘Python编程:轻松绘制等边三角形的简单步骤与技巧</a></li> <li><a href="https://www.huaqu.club/topic/show/1241928">Python脚本如何轻松编译成可执行文件?一招解决跨平台运行难题</a></li> <li><a href="https://www.huaqu.club/topic/show/1250434">掌握Python图像滤波器应用技巧,轻松提升图片质量揭秘!</a></li> <li><a href="https://www.huaqu.club/topic/show/1238421">破解Python代码,轻松识别文件中的关键段落!</a></li> <li><a href="https://www.huaqu.club/topic/show/1247707">掌握Python时间函数:轻松实现日期时间处理与转换技巧</a></li> <li><a href="https://www.huaqu.club/topic/show/1238124">揭秘:Python2编写手机木马病毒的风险与后果</a></li> <li><a href="https://www.huaqu.club/topic/show/1242464">Python编写可爱Lopy机器人教程:轻松入门,玩转智能互动!</a></li> <li><a href="https://www.huaqu.club/topic/show/1247727">揭秘马士兵Python课程:实战派教学,零基础入门到精通,真实学员评价大揭秘!</a></li> <li><a href="https://www.huaqu.club/topic/show/1240050">轻松掌握Python的“且”运算符:一招解决逻辑判断难题</a></li> <li><a href="https://www.huaqu.club/topic/show/1242510">告别字符串空格烦恼:Python轻松实现字符串和变量去空格技巧</a></li> <li><a href="https://www.huaqu.club/topic/show/1249393">掌握Python字典转换的五大技巧,轻松将元素变为字典!</a></li> <li><a href="https://www.huaqu.club/topic/show/1242124">掌握Python中的文件夹创建与打开技巧,轻松管理你的文件库!</a></li> <li><a href="https://www.huaqu.club/topic/show/1251596">揭秘Python高效计算大规模数值的秘诀:轻松应对海量数据处理挑战</a></li> <li><a href="https://www.huaqu.club/topic/show/1253789">揭秘Python高效计算水仙花数的绝妙技巧</a></li> <li><a href="https://www.huaqu.club/topic/show/1246030">轻松掌握Python开方根计算:只需一行代码,解锁数学难题!</a></li> <li><a href="https://www.huaqu.club/topic/show/1249274">揭秘Python随机森林深度选择:掌握最优模型参数,提升预测准确性</a></li> <li><a href="https://www.huaqu.club/topic/show/1246224">揭秘Python自动化网页爬虫:轻松重新获取当前页面攻略</a></li> <li><a href="https://www.huaqu.club/topic/show/1249344">图片加标签,Python轻松实现,告别繁琐标注,高效识别新境界!</a></li> <li><a href="https://www.huaqu.club/topic/show/1247015">揭秘Python点云输出技巧:轻松掌握生成和导出点云文件.xyz的实用方法</a></li> <li><a href="https://www.huaqu.club/topic/show/1251996">Python螺旋线绘制技巧揭秘:轻松入门,实现创意图形创作</a></li> <li><a href="https://www.huaqu.club/topic/show/1236852">零基础如何顺利入职Python开发岗位?掌握这些技巧,轻松开启编程生涯!</a></li> </ul> </div> </div> </div><div class="col-md-3"><div class="card" style="background-image: linear-gradient(180deg, #c0f6ff 48%, #FFFFFF);"> <div class="card-body"><div class="text-center"> <a href="https://www.huaqu.club/user/space/100015"> <img class="rounded-circle" title="csdn大佬" alt="csdn大佬" src="https://www.huaqu.club/public/images/user_large.jpg" width="72" height="72"> </a> <div class="fs14 my-3"><a href="https://www.huaqu.club/user/space/100015"><h5 class="font-weight-bold">csdn大佬</h5></a></div> <div><span class="badge badge-pill badge-success ml-2" title="经验:841">Lv.1</span><span title="头衔称号" class="badge badge-pill badge-secondary ml-2">普通用户</span></div><table cellspacing="0" cellpadding="0" class="w-100 my-4"><tbody> <tr> <th class="border-right"> <p class="font-weight-bold"><a href="/user/topic/100015" class="">452398</a></p><p class="font-weight-light text-secondary">帖子</p> </th> <th class="border-right"> <p class="font-weight-bold"><a href="/user/group/100015" class="">22</a></p><p class="font-weight-light text-secondary">小组</p> </th> <td> <p class="font-weight-bold">841</p><p class="font-weight-light text-secondary">积分</p> </td> </tr></tbody></table><div class="mt-2"> <a class="btn btn-info btn-sm" href="javascript:void('0')" onclick="follow('100015','dd9f322c26f3af434b6122095c120c8f8f4df054');"><i class="bi bi-plus"></i>关注作者</a> </div></div> </div></div> <div class="card"><div class="card-body"><table cellspacing="0" cellpadding="0" class="w-100 my-4"><tbody class="text-center"> <tr> <th> <a href="/topic/add/groupid/30" rel="nofollow"><img width="68px" src="/public/images/i001.png"><p class="font-weight-light text-secondary">发帖</p></a> </th> <th> <a class="hq_comment"><img width="68px" src="/public/images/i002.png"><p class="font-weight-light text-secondary">回复</p></a> </th> <td> <a data-toggle="modal" data-target="#staticBackdrop"><img width="68px" src="/public/images/i003.png"><p class="font-weight-light text-secondary">分享</p></a> </td> </tr></tbody></table></div></div> <div class="card"> <div class="card-header">赞助商广告</div> <div class="card-body"><a href="https://www.huaqu.club/api/go/viptz.php?https://www.lucdn.cn?utm_source=www.huaqu.club" target="_blank"><img width="100%" height="" src="https://img20.360buyimg.com/openfeedback/jfs/t1/299563/23/9639/26405/68355aecFcb6ade44/c94167440c12b003.jpg"></a> </div> </div> <div class="card"> <div class="card-header">本组热帖</div> <div class="card-body commlist"> <ul> <li> <a href="https://www.huaqu.club/topic/show/1206202">轻松掌握Python数据格式转换技巧,告别繁琐操作,高效处理数据!</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1224346">Python中显示字典的键和值,只需使用for循环遍历字典即可。例如:“轻松掌握Python,快速显示字典中的键与值!</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1205405">Python登录知乎:掌握三步曲,轻松实现账户登录,解锁数据抓取新技能</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1163008">轻松掌握Python3下载图片技巧,告别手动操作,一键实现图片批量下载!</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1207398">Python自定义幂函数:轻松实现复杂数学运算,解锁编程新技能</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1181924">掌握Python下载与应用全攻略:轻松入门,高效实践!</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1207098">揭秘Python高效列出指定文件夹内所有文件与目录的实用技巧</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1226781">揭秘Python文字赋值技巧:轻松掌握变量存储与操作之道</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1185283">Python文件2000行:如何判断代码量是否合理?揭秘大型项目与代码管理的秘诀</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1180409">轻松学会:Pythonjieba库安装全攻略,一步到位掌握分词技巧</a> </li> </ul> </div> </div> <div class="card"> <div class="card-header">最新帖子</div> <div class="card-body commlist"> <ul> <li> <a href="https://www.huaqu.club/topic/show/1258391">揭秘Python自动化工程师:薪资潜力与职业发展之道</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1258390">揭秘Python实现元素互斥的5种高效方法</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1258389">掌握Win10系统下Python版本轻松查:一招教你快速识别,告别版本困扰</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1258388">破解Python编程中的常见错误:一步到位的调试技巧全解析</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1258387">苹果电脑轻松安装Python 3.8:无需编程基础,一步到位教程!</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1258386">Python轻松打开程序,一键实现多任务操作指南</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1258385">破解Python无限循环难题:告别重复执行,轻松实现代码控制!</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1258384">Python轻松驾驭网页表格:一键提取,高效数据处理技巧揭秘</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1258383">破解Python编译器运行难题:新手快速上手,轻松编译与执行!</a> </li> <li> <a href="https://www.huaqu.club/topic/show/1258382">轻松掌握:Python叠加直方图两步法,数据可视化不再难</a> </li> </ul> </div> </div> <div class="card"> <div class="card-header">7天热帖</div> <div class="card-body commlist"> <ul> <li><a href="https://www.huaqu.club/topic/show/1253789">揭秘Python高效计算水仙花数的绝妙技巧</a></li> <li><a href="https://www.huaqu.club/topic/show/1253392">揭秘Python爬虫与数据库高效对接技巧,轻松实现数据存储与管理</a></li> <li><a href="https://www.huaqu.club/topic/show/1253190">掌握Python颜色代码,轻松实现文字着色效果</a></li> <li><a href="https://www.huaqu.club/topic/show/1255487">Python输出在一行显示:掌握快速打印技巧</a></li> <li><a href="https://www.huaqu.club/topic/show/1254373">掌握Python日期格式转换:轻松应对数据库日期数据处理挑战</a></li> <li><a href="https://www.huaqu.club/topic/show/1254701">Python显示输入数据类型:轻松掌握类型检查技巧与实例</a></li> <li><a href="https://www.huaqu.club/topic/show/1253786">Python中非整数索引的巧妙解决方案揭秘</a></li> <li><a href="https://www.huaqu.club/topic/show/1253477">轻松掌握Python,解锁数据宝数据获取秘籍</a></li> <li><a href="https://www.huaqu.club/topic/show/1256292">揭秘Python运行时间:高效调试与性能优化秘籍</a></li> <li><a href="https://www.huaqu.club/topic/show/1253231">掌握Python打印换行技巧,告别混乱输出,轻松实现代码美观与效率!</a></li> </ul> </div> </div> <div class="clear"></div> </div> </div></div><div class="modal fade" id="bookModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">标注</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <form> <div class="form-group"> <label for="book-text" class="col-form-label">请输入标注内容(最多8个字符):</label> <input type="text" value="" class="form-control" id="book-text"> </div> <div class="form-group"> <div class="text-danger" id="book-alert"></div> </div> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary btn-sm" onclick="toBook('1034647')">提交</button> </div> </div> </div></div><div class="modal fade" id="mymodal" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="staticBackdropLabel">参与/回复主题</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body vcommentform"><form id="comm-form1" method="post" action="https://www.huaqu.club/index.php?app=comment&ac=add"> <div> <textarea id="tseditor1" name="content" style="width:100%;height:168px;" class="form-control" placeholder="请评论正面内容,做一个正直的人,远离负面"></textarea> </div> <div> <div> <div class="mt-1">是否公开:<input type="radio" name="ispublic" value="0" checked />公开 <input type="radio" name="ispublic" value="1" />不公开</div> </div> <div class="text-right"> <input type="hidden" name="ptable" value="topic"> <input type="hidden" name="pkey" value="topicid"> <input type="hidden" name="pid" value="1034647" /> <input type="hidden" name="token" value="dd9f322c26f3af434b6122095c120c8f8f4df054" /> <button class="btn btn-sm btn-info float-right" type="submit">提交评论</button> </div> </div></form> </div> </div> </div></div><script> $(function(){ $(".hq_comment").click(function(){ $("#mymodal").modal("toggle"); }); }); $(document).ready(function(){ $('#comm-form1').on('submit', function(event){ event.preventDefault(); if($('#tseditor1').val()==''){ }else{ $("#mymodal").modal("toggle"); $.ajax({ url: $(this).attr('action'), type: 'POST', data: $(this).serialize(), success: function(response){ tsNotice('评论成功,2秒后跳转','提示:'); setTimeout(function(){ window.location = response.url; }, 2000); }, error: function(xhr, status, error){ tsNotice('请求失败'); } }); } }); }); function collect(topicid){ if(topicid){ $.post(siteUrl+'index.php?app=topic&ac=ajax&ts=collect',{'topicid':topicid,'title':'揭秘Python高效抓取数据结构技巧:轻松掌握数据爬取与处理之道'},function (rs) { if(rs==1){ window.location.reload() }else{ } }) }else{ } } function shareToQzone() { window.open("https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=" + window.location.href + "&title=" + document.title + '&summary=' + encodeURIComponent('引言在当今数据驱动的世界中,从互联网上高效抓取和结构化数据是一项至关重要的技能。Python作为一种广泛使用的编程语言,因其强大的库和框架而成为数据抓取的首选工具。本文将深入探讨Python高效抓取数...') + '&imageUrl=' + encodeURIComponent('https://www.huaqu.club/uploadfile/logo/logo.png')+'&site=' + encodeURIComponent('花趣站长网') + '&referer=' + window.location.href); } function shareToWeibo() { window.open('https://service.weibo.com/share/share.php?url=' + encodeURIComponent(window.location.href) + '&appkey=&title=' + encodeURIComponent(document.title)+'&language=zh_cn&pic='+encodeURIComponent('https://www.huaqu.club/uploadfile/logo/logo.png')); }</script><div class="container"></div><div class="footer"><p class="text-dark fs14"><a class="text-secondary" href="/zhangben">平台账本</a> |<a class="text-secondary" href="https://www.huaqu.club/home/info/1">关于我们</a> |<a class="text-secondary" href="https://www.huaqu.club/home/info/2">联系我们</a> |<a class="text-secondary" href="https://www.huaqu.club/home/info/3">用户条款</a> |<a class="text-secondary" href="https://www.huaqu.club/home/info/4">隐私申明</a> |<a class="text-secondary" href="https://www.huaqu.club/home/info/5">加入我们</a></p><p class="fs12 font-weight-bold text-danger">非经营性网站,仅面向开发者小团体学习交流分享交换经验,无付费通道</p><p class="fs12 font-weight-bold">© 本站内容均为会员发表,并不代表本站立场!</p><p class="fs12 text-secondary">Copyright © 2025<a class="text-secondary" target="_blank" href="https://www.huaqu.club/">华趣</a> <a rel="nofollow" target="_blank" href="https://beian.miit.gov.cn/">粤ICP备18120620号-2</a></p><p class="fs12"> Powered by <a target="_blank" class="text-secondary" href="https://www.huaqu.club/">华趣站长网</a> Processed in 0.001973 second(s)</p><p class="fs12">本站由<a target="_blank" href="https://www.huaqu.club/api/go/viptz.php?https://www.lucdn.cn?utm_source=www.huaqu.club">语鹿高防CDN</a>提供加速支持</p></div><script src="https://www.huaqu.club/public/js/common.js?v=2022" type="text/javascript"></script><script src="https://www.huaqu.club/app/topic/js/extend.func.js?v=20200223" type="text/javascript"></script><div class="feedback-box"><a target="_blank" href="/group/show/1">站长交流</a><!--<div class="jubao"><a href="https://www.huaqu.club/home/report">举报</a></div></div>--><script type="text/javascript" src="https://www.huaqu.club/plugins/pubs/gotop/jquery.goToTop.js"></script><script> var _mtj = _mtj || []; (function () { var mtj = document.createElement("script"); mtj.src = "https://node32.aizhantj.com:21233/tjjs/?k=5gfzrmm5zw9"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(mtj, s); })();</script></body></html>