栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python简单爬虫

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python简单爬虫

Xpath和lxml技术文档 Xpath的用处

XPath是专门针对xml设计的,在复杂结构化数据中查找信息的语言。简单来说,就是利用一条路径表达式,找到我们需要的数据位置。
html可以看做不标准的xml,在html中也能使用XPath查找数据。

Xpath的介绍

xpath可以用来在XML文档中对元素和属性进行遍历。
在 xpath 中,所有事物都是节点。共有七种类型的节点:

  • 元素节点 : 元素是由从开始标签到结束标签的所有代码
  • 属性节点 : 每一个元素节点有一个相关联的属性节点集合
  • 文本节点 : 文本节点包含了一组字符数据,即cdata中包含的字符
  • 命名空间节点 : 每一个元素节点都有一个相关的命名空间节点集
  • 处理指令节点 : 处理指令节点对应于XML文档中的每一条处理指令
  • 注释节点 : 注释节点对应于文档中的注释
  • 文档(根)节点 : 根节点是节点树的最上层,根节点是唯一的
    ★ XPath可以用来选择这7种节点,但今天只涉及最常用的元素节点。因此,可以将下文中的节点和元素视为同义词。

节点关系

  • 父(Parent) 每个元素以及属性都有一个父
  • 子(Children) 元素节点可有零个、一个或多个子
  • 兄弟(Sibling) 拥有相同的父的节点
  • 先辈(Ancestor) 某节点的父、父的父,等等
  • 后代(Descendant) 某个节点的子,子的子,等等
Xpath的语法介绍

1)选取节点常用的路径表达式

  • / 从根节点选取
  • // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
  • . 选取当前节点
  • @选取属性

2)谓语
为路径表达式的附加条件,对节点进行进一步的筛选,被镶嵌在[ ]中
常用的Xpath函数

  • text(): 文本定位位置,精确匹配 – text()=’’
  • contains(): 判断字符串的一部分,模糊匹配 – contains(text(),’’) contains(@class,’’)
  • starts/ends-with: 匹配一个字符串开始/结束位置的关键字 – starts/ends-with(@class,’’)
  • position(): 表示节点的序号 – position()=1 position()>2
  • last() : 最后一个节点 – last()
  • and/or : and 与 ; or 或 – a[@class and @href] a[@class or @href]
  • not() : 表示否定 – a[not(@class)]
    3)通配符
  • 匹配任何元素节点@*的任何属性
  • //* 选择文档中的所有元素节点
  • //ul/* 选择ul元素的所有子节点
  • //a[@*] 选择所有带有属性的a节点
    4)运算符
  • | 可以选取多个并列的路径
  • 例如://a[@tppabs]|//a[@class] 选择所有具有tppabs属性的a标签或具有class属性的a标签
xml文档的示例



    
        Harry Potter
        J K. Rowling 
        2005
        29.99
    



 # 文档节点

  # 元素节点,属于的子节点

/<author>/<year>/<price>  # 元素节点,属于<book>节点的子节点


<title lang="en">Harry Potter   
lang    # 属性节点,是节点的属性
Harry Potter  # 文本节点,是<title>节点的文本

</pre> 
Xpath的书写示例 
<table><thead><tr><th>路径表达式</th><th>结果</th></tr></thead><tbody><tr><td>/bookstore/book[1]</td><td>选取属于bookstore子元素的第一个book元素</td></tr><tr><td>/bookstore/book[last()]</td><td>选取属于 bookstore 子元素的最后一个 book 元素</td></tr><tr><td>/bookstore/book[position()<4]</td><td>选取最前面的三个属于 bookstore 元素的子元素的 book 元素</td></tr><tr><td>/bookstore/book[last()-1]</td><td>选取属于 bookstore 子元素的倒数第二个 book 元素</td></tr><tr><td>//title[@lang]</td><td>选取所有拥有名为lang属性的title元素</td></tr><tr><td>//title[@lang=’en’]</td><td>选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性</td></tr><tr><td>/bookstore/book[price>35.00]</td><td>选取 bookstore 元素的所有 book 元素,且其中的 price 元素的值须大于 35.00</td></tr><tr><td>/bookstore/book[price>35.00]/title</td><td>选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于35.00</td></tr></tbody></table>
选取若干节点 
<p>Xpath的通配符可以解决选取未知的XML元素的问题</p> 
<table><thead><tr><th>路径表达式</th><th>结果</th></tr></thead><tbody><tr><td>//book/title | //book/price</td><td>选取 book 元素的所有 title 和 price 元素</td></tr><tr><td>//title | // price</td><td>选取文档中的所有 title 和 price 元素</td></tr><tr><td>/bookstore/book/title | //price</td><td>选取属于 bookstore 元素的 book 元素的所有 title 元素,以及文档中所有的 price 元素</td></tr></tbody></table>
lxml库 
<p>lxml库的介绍<br /> lxml库是解释一个HTML/XML的解析器,主要功能是解析和提取HTML/XML的数据。</p> 
<p>lxml库的安装<br /> 方法一:在cmd命令行中安装,语句如下:</p> 
<pre class='brush:php;toolbar:false'>pip install lxml
</pre> 
<p>方法二:在pycharm中安装<br /> file->settings->Project Python->Project Interpreter->点击+号->输入lxml->点击install,进行下载</p> 
<p>lxml的简单使用<br /> etree将文本转成html:</p> 
<pre class='brush:php;toolbar:false'># 将文本转成html对象
html = etree.HTML(text) 

# 将html对象转成html的文本信息
etree.tostring(html)
</pre> 
<p>示例:</p> 
<pre class='brush:php;toolbar:false'>from lxml import etree
text = '''
    
        <ul>
             <li >first item</li>
             <li >second item</li>
             <li >third item</li>
             <li >fourth item</li>
             <li >fifth item 
         </ul>
    
    '''
    
# 将文本转成html对象
html = etree.HTML(text)
# 将对象转成html文本
result = etree.tostring(html)
# 打印输出
print(result.decode('utf-8'))
</pre> 
<p>输出的结果会自动的添加标签并且补齐缺少的标签</p> 
<pre class='brush:php;toolbar:false'><html>
<body>
	<div>
        <ul>
             <li class="item-0"><a href="link1.html">first item</a></li>
             <li class="item-1"><a href="link2.html">second item</a></li>
             <li class="item-inactive"><a href="link3.html">third item</a></li>
             <li class="item-1"><a href="link4.html">fourth item</a></li>
             <li class="item-0"><a href="link5.html">fifth item</a> </li>
        </ul>
    </div>
</body>
</html>
</pre> 
Xpath和lxml的联合使用 
<p>此处将以爬取湖北经济学院官网的新闻为例</p> 
1、分析网页 
<p></p> 
<ul><li>从上图可以看出每页内容全部在ul标签下的li中。<br /> </li><li>标题在li/div[1]/span[2]/a中,时间在li/div[2]/span,具体内容链接为li/div[1]/span[2]/a/@href</li></ul> 
2、导包 
<pre class='brush:php;toolbar:false'>import requests
from lxml import etree
import pandas as pd
</pre> 
3、分析url链接 
<pre class='brush:php;toolbar:false'>url1='http://news.hbue.edu.cn/jyyw/list1.htm' 
url2='http://news.hbue.edu.cn/jyyw/list2.htm'
 #开始的url链接,每换一个页面,其list后面的数字会发生变化,可以采用for循环进行遍历
http://news.hbue.edu.cn/b5/7d/c7592a243069/page.htm
http://edu.cnhubei.com/2019xajc/2021-07/06/c13911566.html
 #此处为具体内容的链接,可以通过再一次get其链接,但是存在一些其他的链接,需要进行数据的筛选
</pre> 
4、循环访问标题页面并将内容保存在相应的列表中 
<pre class='brush:php;toolbar:false'>for page in range(1,251):
    url='http://news.hbue.edu.cn/jyyw/list'+str(page)+'.htm'
    r=requests.get(url)
    r.encoding='utf-8'
    rqs=r.text
    html=etree.HTML(rqs)
    li_list=html.xpath('//*[@id="wp_news_w7"]/ul')


    for li in li_list:
        title=li.xpath('./li/div[1]/span[2]/a/text()')
        new_url=li.xpath('./li/div[1]/span[2]/a/@href')
        time=li.xpath('./li/div[2]/span/text()')
        titles.append(title)
        new_urls.append(new_url)
        times.append(time)
</pre> 
<ul><li>第一步:通过for循环对初始页面进行访问,想要的内容都在li标签下,将所有的li的内容保存在li_list中。</li><li>第二步:通过遍历li_list将要爬取的内容保存在对应的列表中。<br /> 注意:此处保存的内容是一个矩阵,需要以下步骤将矩阵元素存储在一个列表中。</li></ul> 
5、遍历矩阵,将矩阵元素存储在一个列表中 
<pre class='brush:php;toolbar:false'>for time_lists in times:
    for c in time_lists:
        time_list.append(c)

for title_lists in titles:
    for b in title_lists:
        title_list.append(b)

for url_lists in new_urls:
    for a in url_lists:
        url_list.append(a)

</pre> 
6、处理属性标签中数据的异构 
<pre class='brush:php;toolbar:false'>content_lists = []
for i in range(len(url_list)):
        if 'http:' in url_list[i]:
            content = 'other thing'+url_list[i]
        elif 'https:' in url_list[i]:
            content = 'other thing'+url_list[i]
        else:
            new_url = 'http://news.hbue.edu.cn' + url_list[i]
            new_r = requests.get(new_url)
            new_r.encoding = 'utf-8'
            new_r1 = new_r.text
            new_html = etree.HTML(new_r1)
            content = new_html.xpath('//div[@]/div/p//text()')
            content = ''.join(content)
        content_lists.append(content)
</pre> 
<ul><li>第一步:遍历具体内容的url的列表,判断if-else列表元素是否已经存在**‘http’或者‘https**’的前缀,存在就将content赋值为other thing+url内容。</li><li>第二步:将对应的内容保存在content_list列表中。</li></ul> 
7、数据的储存 
<pre class='brush:php;toolbar:false'>dataframe=pd.Dataframe({'标题':title_list,'时间':time_list,"内容":content_lists})
dataframe.to_csv('D:/桌面2/湖北经济学院新闻.csv',sep=',',index=False,encoding='utf-8-sig')

</pre> 
<ul><li>通过pandas库将数据转换为Dataframe并保存在CSV文件中。<br /> 注意:此处的编码采用utf-8-sig,以避免文件出现乱码</li></ul> 
编码说明 
<p>如果采用utf-8在CSV文件中可能会出现乱码,建议将utf-8改成utf-8-sig</p> 
utf-8和utf-8-sig的区别 
<ul><li>”utf-8“ 是以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有字节序问题,因此它不需要BOM,所以当用"utf-8"编码方式读取带有BOM的文件时,它会把BOM当做是文件内容来处理, 也就会发生类似上边的错误.</li><li>“utf-8-sig"中sig全拼为 signature 也就是"带有签名的utf-8”, 因此"utf-8-sig"读取带有BOM的"utf-8文件时"会把BOM单独处理,与文本内容隔离开,也是我们期望的结果.</li></ul> 
完整代码 
<pre class='brush:php;toolbar:false'>import requests
from lxml import etree
import pandas as pd

# url='http://news.hbue.edu.cn/jyyw/list.htm'
# http://news.hbue.edu.cn/b5/7d/c7592a243069/page.htm
# http://news.hbue.edu.cn/jyyw/list2.htm
# http://edu.cnhubei.com/2019xajc/2021-07/06/c13911566.html
titles = []
times=[]
new_urls=[]
news_urls=[]
url_list=[]
title_list=[]
time_list=[]


for page in range(1,251):
    url='http://news.hbue.edu.cn/jyyw/list'+str(page)+'.htm'
    r=requests.get(url)
    r.encoding='utf-8'
    rqs=r.text
    html=etree.HTML(rqs)
    li_list=html.xpath('//*[@id="wp_news_w7"]/ul')


    for li in li_list:
        title=li.xpath('./li/div[1]/span[2]/a/text()')
        new_url=li.xpath('./li/div[1]/span[2]/a/@href')
        time=li.xpath('./li/div[2]/span/text()')
        titles.append(title)
        new_urls.append(new_url)
        times.append(time)
for time_lists in times:
    for c in time_lists:
        time_list.append(c)

for title_lists in titles:
    for b in title_lists:
        title_list.append(b)

for url_lists in new_urls:
    for a in url_lists:
        url_list.append(a)

content_lists = []
for i in range(len(url_list)):
        if 'http:' in url_list[i]:
            content = 'other thing'+url_list[i]
        elif 'https:' in url_list[i]:
            content = 'other thing'+url_list[i]
        else:
            new_url = 'http://news.hbue.edu.cn' + url_list[i]
            new_r = requests.get(new_url)
            new_r.encoding = 'utf-8'
            new_r1 = new_r.text
            new_html = etree.HTML(new_r1)
            content = new_html.xpath('//div[@]/div/p//text()')
            content = ''.join(content)
        content_lists.append(content)

dataframe=pd.Dataframe({'标题':title_list,'时间':time_list,"内容":content_lists})
dataframe.to_csv('D:/桌面2/湖北经济学院新闻.csv',sep=',',index=False,encoding='utf-8-sig')


</pre> 
结果 
<p></p> 
<ul><li>一共爬取了3490条数据。</li></ul> 
<p>2021年9月29日</p></div>
</div>
<div style="clear: both;"></div>
<div class="author-info fl">
<div><span class="gray">转载请注明:</span>文章转载自 <a href="https://www.mshxw.com/" class="blue">www.mshxw.com</a></div>
<div><span class="gray">本文地址:</span><a href="https://www.mshxw.com/it/274982.html" class="blue">https://www.mshxw.com/it/274982.html</a></div>
</div>
<div class="prev fl">
<p>   <a style='text-align:left;' class='center-block text-center glyphicon glyphicon-collapse-down' href="https://www.mshxw.com/it/276541.html">上一篇  面试官-说一说线程间通信的几种方式</a>
 </p>
<p>   <a style='text-align:left;' class='center-block text-center glyphicon glyphicon-collapse-down' href="https://www.mshxw.com/it/274932.html">下一篇  Python Urllib爬虫基础 (个人学习笔记仅限参考)</a>
  </p>
</div>
<div class="new_tag fl">
</div>
</div>
<div class="new_r fr" style="border-radius:10px;">
<div class="tui fl">
<h3>Python相关栏目本月热门文章</h3>
<ul>
  <li><span>1</span><a href="https://www.mshxw.com/it/1041277.html" title="【Linux驱动开发】设备树详解(二)设备树语法详解">【Linux驱动开发】设备树详解(二)设备树语法详解</a></li>
  <li><span>2</span><a href="https://www.mshxw.com/it/1041273.html" title="别跟客户扯细节">别跟客户扯细节</a></li>
  <li><span>3</span><a href="https://www.mshxw.com/it/1041266.html" title="Springboot+RabbitMQ+ACK机制(生产方确认(全局、局部)、消费方确认)、知识盲区">Springboot+RabbitMQ+ACK机制(生产方确认(全局、局部)、消费方确认)、知识盲区</a></li>
  <li><span>4</span><a href="https://www.mshxw.com/it/1041261.html" title="【Java】对象处理流(ObjectOutputStream和ObjectInputStream)">【Java】对象处理流(ObjectOutputStream和ObjectInputStream)</a></li>
  <li><span>5</span><a href="https://www.mshxw.com/it/1041256.html" title="【分页】常见两种SpringBoot项目中分页技巧">【分页】常见两种SpringBoot项目中分页技巧</a></li>
  <li><span>6</span><a href="https://www.mshxw.com/it/1041299.html" title="一文带你搞懂OAuth2.0">一文带你搞懂OAuth2.0</a></li>
  <li><span>7</span><a href="https://www.mshxw.com/it/1041297.html" title="我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:虚拟机与Java虚拟机介绍">我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:虚拟机与Java虚拟机介绍</a></li>
  <li><span>8</span><a href="https://www.mshxw.com/it/1041296.html" title="【Spring Cloud】新闻头条微服务项目:FreeMarker模板引擎实现文章静态页面生成">【Spring Cloud】新闻头条微服务项目:FreeMarker模板引擎实现文章静态页面生成</a></li>
  <li><span>9</span><a href="https://www.mshxw.com/it/1041294.html" title="JavaSE - 封装、static成员和内部类">JavaSE - 封装、static成员和内部类</a></li>
  <li><span>10</span><a href="https://www.mshxw.com/it/1041291.html" title="树莓派mjpg-streamer实现监控及拍照功能调试">树莓派mjpg-streamer实现监控及拍照功能调试</a></li>
  <li><span>11</span><a href="https://www.mshxw.com/it/1041289.html" title="用c++写一个蓝屏代码">用c++写一个蓝屏代码</a></li>
  <li><span>12</span><a href="https://www.mshxw.com/it/1041285.html" title="从JDK8源码中看ArrayList和LinkedList的区别">从JDK8源码中看ArrayList和LinkedList的区别</a></li>
  <li><span>13</span><a href="https://www.mshxw.com/it/1041281.html" title="idea 1、报错java: 找不到符号 符号: 变量 log 2、转换成Maven项目">idea 1、报错java: 找不到符号 符号: 变量 log 2、转换成Maven项目</a></li>
  <li><span>14</span><a href="https://www.mshxw.com/it/1041282.html" title="在openwrt使用C语言增加ubus接口(包含C uci操作)">在openwrt使用C语言增加ubus接口(包含C uci操作)</a></li>
  <li><span>15</span><a href="https://www.mshxw.com/it/1041278.html" title="Spring 解决循环依赖">Spring 解决循环依赖</a></li>
  <li><span>16</span><a href="https://www.mshxw.com/it/1041275.html" title="SpringMVC——基于MVC架构的Spring框架">SpringMVC——基于MVC架构的Spring框架</a></li>
  <li><span>17</span><a href="https://www.mshxw.com/it/1041272.html" title="Andy‘s First Dictionary C++ STL set应用">Andy‘s First Dictionary C++ STL set应用</a></li>
  <li><span>18</span><a href="https://www.mshxw.com/it/1041271.html" title="动态内存管理">动态内存管理</a></li>
  <li><span>19</span><a href="https://www.mshxw.com/it/1041270.html" title="我的创作纪念日">我的创作纪念日</a></li>
  <li><span>20</span><a href="https://www.mshxw.com/it/1041269.html" title="Docker自定义镜像-Dockerfile">Docker自定义镜像-Dockerfile</a></li>
</ul>
</div>
</div>
</div>
<!-- 公共尾部 -->
<div class="link main">
<div class="link_tit">
<span class="on">热门相关搜索</span>
</div>
<div class="link_tab">
<div class="link_con">
<a href="http://www.mshxw.com/TAG_1/luyouqishezhi.html">路由器设置</a>
<a href="http://www.mshxw.com/TAG_1/mutuopan.html">木托盘</a>
<a href="http://www.mshxw.com/TAG_1/baotamianban.html">宝塔面板</a>
<a href="http://www.mshxw.com/TAG_1/shaoerpython.html">儿童python教程</a>
<a href="http://www.mshxw.com/TAG_1/xinqingdiluo.html">心情低落</a>
<a href="http://www.mshxw.com/TAG_1/pengyouquan.html">朋友圈</a>
<a href="http://www.mshxw.com/TAG_1/vim.html">vim</a>
<a href="http://www.mshxw.com/TAG_1/shuangyiliuxueke.html">双一流学科</a>
<a href="http://www.mshxw.com/TAG_1/zhuanshengben.html">专升本</a>
<a href="http://www.mshxw.com/TAG_1/wodexuexiao.html">我的学校</a>
<a href="http://www.mshxw.com/TAG_1/rijixuexiao.html">日记学校</a>
<a href="http://www.mshxw.com/TAG_1/xidianpeixunxuexiao.html">西点培训学校</a>
<a href="http://www.mshxw.com/TAG_1/qixiuxuexiao.html">汽修学校</a>
<a href="http://www.mshxw.com/TAG_1/qingshu.html">情书</a>
<a href="http://www.mshxw.com/TAG_1/huazhuangxuexiao.html">化妆学校</a>
<a href="http://www.mshxw.com/TAG_1/tagouwuxiao.html">塔沟武校</a>
<a href="http://www.mshxw.com/TAG_1/yixingmuban.html">异形模板</a>
<a href="http://www.mshxw.com/TAG_1/xinandaxuepaiming.html">西南大学排名</a>
<a href="http://www.mshxw.com/TAG_1/zuijingpirenshengduanju.html">最精辟人生短句</a>
<a href="http://www.mshxw.com/TAG_1/6bujiaonizhuihuibeipian.html">6步教你追回被骗的钱</a>
<a href="http://www.mshxw.com/TAG_1/nanchangdaxue985.html">南昌大学排名</a>
<a href="http://www.mshxw.com/TAG_1/qingchaoshierdi.html">清朝十二帝</a>
<a href="http://www.mshxw.com/TAG_1/beijingyinshuaxueyuanpaiming.html">北京印刷学院排名</a>
<a href="http://www.mshxw.com/TAG_1/beifanggongyedaxuepaiming.html">北方工业大学排名</a>
<a href="http://www.mshxw.com/TAG_1/beijinghangkonghangtiandaxuepaiming.html">北京航空航天大学排名</a>
<a href="http://www.mshxw.com/TAG_1/shoudoujingjimaoyidaxuepaiming.html">首都经济贸易大学排名</a>
<a href="http://www.mshxw.com/TAG_1/zhongguochuanmeidaxuepaiming.html">中国传媒大学排名</a>
<a href="http://www.mshxw.com/TAG_1/shoudoushifandaxuepaiming.html">首都师范大学排名</a>
<a href="http://www.mshxw.com/TAG_1/zhongguodezhidaxue(beijing)paiming.html">中国地质大学(北京)排名</a>
<a href="http://www.mshxw.com/TAG_1/beijingxinxikejidaxuepaiming.html">北京信息科技大学排名</a>
<a href="http://www.mshxw.com/TAG_1/zhongyangminzudaxuepaiming.html">中央民族大学排名</a>
<a href="http://www.mshxw.com/TAG_1/beijingwudaoxueyuanpaiming.html">北京舞蹈学院排名</a>
<a href="http://www.mshxw.com/TAG_1/beijingdianyingxueyuanpaiming.html">北京电影学院排名</a>
<a href="http://www.mshxw.com/TAG_1/zhongguohuquxueyuanpaiming.html">中国戏曲学院排名</a>
<a href="http://www.mshxw.com/TAG_1/hebeizhengfazhiyexueyuanpaiming.html">河北政法职业学院排名</a>
<a href="http://www.mshxw.com/TAG_1/hebeijingmaodaxuepaiming.html">河北经贸大学排名</a>
<a href="http://www.mshxw.com/TAG_1/tianjinzhongdeyingyongjishudaxuepaiming.html">天津中德应用技术大学排名</a>
<a href="http://www.mshxw.com/TAG_1/tianjinyixuegaodengzhuankexuejiaopaiming.html">天津医学高等专科学校排名</a>
<a href="http://www.mshxw.com/TAG_1/tianjinmeishuxueyuanpaiming.html">天津美术学院排名</a>
<a href="http://www.mshxw.com/TAG_1/tianjinyinlexueyuanpaiming.html">天津音乐学院排名</a>
<a href="http://www.mshxw.com/TAG_1/tianjingongyedaxuepaiming.html">天津工业大学排名</a>
<a href="http://www.mshxw.com/TAG_1/beijinggongyedaxuegengdanxueyuanpaiming.html">北京工业大学耿丹学院排名</a>
<a href="http://www.mshxw.com/TAG_1/beijingjingchaxueyuanpaiming.html">北京警察学院排名</a>
<a href="http://www.mshxw.com/TAG_1/tianjinkejidaxuepaiming.html">天津科技大学排名</a>
<a href="http://www.mshxw.com/TAG_1/beijingyoudiandaxue(hongfujiaoou)paiming.html">北京邮电大学(宏福校区)排名</a>
<a href="http://www.mshxw.com/TAG_1/beijingwanglaozhiyexueyuanpaiming.html">北京网络职业学院排名</a>
<a href="http://www.mshxw.com/TAG_1/beijingdaxueyixuebupaiming.html">北京大学医学部排名</a>
<a href="http://www.mshxw.com/TAG_1/hebeikejidaxuepaiming.html">河北科技大学排名</a>
<a href="http://www.mshxw.com/TAG_1/hebeidezhidaxuepaiming.html">河北地质大学排名</a>
<a href="http://www.mshxw.com/TAG_1/hebeitiyoxueyuanpaiming.html">河北体育学院排名</a>
</div>
</div>
</div>
<div class="footer">
<div class="dl_con">
<div class="width1200">
<dl>
<dt>学习工具</dt>
<dd><a href="https://www.mshxw.com/tools/algebra/" title="代数计算器">代数计算器</a></dd>
<dd><a href="https://www.mshxw.com/tools/trigonometry/" title="三角函数计算器">三角函数</a></dd>
<dd><a href="https://www.mshxw.com/tools/analytical/" title="解析几何">解析几何</a></dd>
<dd><a href="https://www.mshxw.com/tools/solidgeometry/" title="立体几何">立体几何</a></dd>
</dl>
<dl>
<dt>知识解答</dt>
<dd><a href="https://www.mshxw.com/ask/1033/"  title="教育知识">教育知识</a></dd>
<dd><a href="https://www.mshxw.com/ask/1180/"  title="百科知识">百科知识</a></dd>
<dd><a href="https://www.mshxw.com/ask/1155/"  title="生活知识">生活知识</a></dd>
<dd><a class="https://www.mshxw.com/ask/1199/"  title="常识知识">常识知识</a></dd>
</dl>
<dl>
<dt>写作必备</dt>
<dd><a href="https://www.mshxw.com/zuowen/1128/" title="作文大全">作文大全</a></dd>
<dd><a href="https://www.mshxw.com/zuowen/1130/" title="作文素材">作文素材</a></dd>
<dd><a href="https://www.mshxw.com/zuowen/1132/" title="句子大全">句子大全</a></dd>

<dd><a href="https://www.mshxw.com/zuowen/1154/" title="实用范文">实用范文</a></dd>
</dl>
<dl class="mr0">
<dt>关于我们</dt>
<dd><a href="https://www.mshxw.com/about/index.html" title="关于我们" rel="nofollow">关于我们</a></dd>
<dd><a href="https://www.mshxw.com/about/contact.html" title="联系我们" rel="nofollow">联系我们</a></dd>
<dd><a href="https://www.mshxw.com/sitemap/" title="网站地图">网站地图</a></dd>
</dl>
<div class="dl_ewm">
<div class="wx"> <img src="https://www.mshxw.com/skin/sinaskin//kaotop/picture/gzh.jpg" alt="交流群">
<p>名师互学网交流群</p>
</div>
<div class="wx"><img src="https://www.mshxw.com/skin/sinaskin//kaotop/picture/weixin.jpg" alt="名师互学网客服">
<p>名师互学网客服</p>
</div>
</div>
</div>
</div>
<div class="copyright">
<p>名师互学网 版权所有 (c)2021-2022      ICP备案号:<a href="https://beian.miit.gov.cn" rel="nofollow">晋ICP备2021003244-6号</a>
 </p>
</div>
</div>
<!-- 手机端 -->
<div class="m_foot_top">
<img src="https://www.mshxw.com/foot.gif" width="192" height="27" alt="我们一直用心在做"><br/>
<a href="https://www.mshxw.com/about/index.html">关于我们</a>
<a href="https://www.mshxw.com/archiver/">文章归档</a>
<a href="https://www.mshxw.com/sitemap">网站地图</a>
<a href="https://www.mshxw.com/about/contact.html">联系我们</a>
<p>版权所有 (c)2021-2022 MSHXW.COM</p>
<p>ICP备案号:<a href="https://beian.miit.gov.cn/" rel="nofollow">晋ICP备2021003244-6号</a></p>
</div>
<div class="to_top" style="display:none;"><img src="https://www.mshxw.com/skin/sinaskin//kaotop/picture/to_top.png"></div>
<!--广告!-->
<script type="text/javascript" src="https://www.mshxw.com/skin/sinaskin//kaotop/js/top.js"></script>
<script src="https://www.mshxw.com/skin/sinaskin//kaotop/js/fixed.js" type="text/javascript"></script>
<!--头条搜索!-->
<script>
(function(){
var el = document.createElement("script");
el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?018f42187355ee18d1bfcee0487fc91a76ac6319beb05b7dc943033ed22c446d3d72cd14f8a76432df3935ab77ec54f830517b3cb210f7fd334f50ccb772134a";
el.id = "ttzz";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(el, s);
})(window)
</script>
<!--头条搜索结束!-->
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?e05fec1c87ee5ca07f1ce57d093866c4";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>
</div>
</div>
<script type="text/javascript">
$(".alert_kf").click(function() {
      mantis.requestChat();
 });
</script>
<script type="text/javascript">
var mySwiper_weixin = new Swiper('.pc_swiper_weixin', {
autoplay: 3000, //可选选项,自动滑动
loop: true,
speed: 1000,
pagination: '.swiper-pagination',
paginationClickable: true,
})
</script>
<script type="text/javascript">
$(function() {
$(window).scroll(function() {
if ($(window).scrollTop() > 100) {
$(".to_top").fadeIn(1000);
} else {
$(".to_top").fadeOut(1000);
}
});
$(".to_top").click(function() {
if ($('html').scrollTop()) {
$('html').animate({
scrollTop: 0
}, 300);
return false;
}
$('body').animate({
scrollTop: 0
}, 300);
return false;
});
});
</script>
</body>
</html>