爬虫老手也崩溃?Scrapy模板一改即用,Python环境配置竟这么爽

📅 2026/7/30 0:28:27
爬虫老手也崩溃?Scrapy模板一改即用,Python环境配置竟这么爽
前言身为一个爬虫方面经验丰富的人, 不知大家是否有这样一种感受: 创作一个完整的爬虫程序得开展许多繁杂琐碎的工作。举例来说, 要针对不一样的网站设定不一样的解析方法要引入具备不同功能的模块还要编撰各类爬取流程的代码。我们在日常工作期间会借助 PPT 模板去制作 PPT。那么是否存在一个现成可用的爬虫模板, 能让我们稍作修改就能拿来使用, 也就是对这个模板进行适度调整之后, 便可达成一个爬虫项目的开发呢?所以说, 那就让我们一块儿去学习一番这个极其厉害的框架 , 一旦认真去学, 肯定是能够弄明白的了也就。一.什么是于学习进程里, 我们运用了好些模块, 其具备各异功能, 例如:1. 模块进行请求2. csv模块储存数据而于框架之中, 我们无需做这般多, 鉴于在此框架之内皆可自动达成, 接下来, 我们便去了解基础知识, 涵盖其结构以及工作原理。上面呈现的这张图, 是它的整个结构。你能够把整个框架视作是你身处的那个部门。处于最中心位置的引擎, 便是你所在部门起着统领作用之人, 此人承担着对这个部门四大职能开展全面统筹规划之责。二.的工作原理于爬虫部门当中, 每一位成员皆各尽其责, 彼此协作沟通, 此运行流程的逻辑较为简便, 实际上就是, 引擎大权威所表达的话语即为至高要求, 查看以下的对话。: 今天我们要爬什么呢: 爬取一个urlhtpps://…我已经分装成了: 调度器配合的工作。把都放进队列调度器: 收到!: 下载器把这些爬下来爬取结果发给我下载器: 下载器:收到现在开始处理下载器: 已完成现在把发给你。: 我已经把发给你请尽快解析和处理: 收到。已完成提取出来的Item已经发送给你了。: 数据管道把这些Otem处理一下。数据管道: 收到现在开始处理。从上面的对话可以看出框架的工作原理。也有许多的优势和好处在使用之际, 我们无需去关注爬虫的每一个流程, 并且其中的网络请求皆为默认异步模式, 请求以及返回均会由引擎来自动分配处理, 倘若某个请求出现异常, 框架也会帮我们进行异常处理, 略过这个出现异常的请求, 进而继续去执行后续的程序, 所以说, 我们使用能够省去诸多的时间以及工作 三.的用法。刚刚开始学的小伙伴, 在还没有弄明白原理以前, 先不要着急去看下面的内容, 尝试着把原理理解清楚之后再来开展项目。经过对于其结构以及工作原理的加以了解之后, 我们便着手尝试去进行攀爬——就如同攀爬豆瓣里所包含的书籍——这一行为。1.明确目标我们先来看一下我们要爬取的网址 :豆瓣图书, 它一共有十页, 而这其中的每一页又都有着二十五本书籍。我们所设定的初步目标在于, 最开始仅仅去爬取前三页书籍的相关信息, 这总共算下来, 就是二十五乘以三等于七十五本, 这里面涵盖着书名、出版信息以及书籍评分。2.分析目标紧接下来会是要针对爬取网站的那个网页结构去展开分析, 首先呢要判断那些信息究竟被存在了什么地方, 为了避免出现错误, 大伙最好是跟着进行操作依照按F12的那种方式打开快乐爬虫模式, 然后点开。刷新页面然后点击第0个请求看.我们能够在其中寻觅到书名, 还有出版信息, 这表明我们所期望的书籍信息隐匿于这个网址的HTML之中, 标点符号。我们能在里面找到书名、出版信息说明我们想要的书籍信息就藏在这个网址的HTML里。接着我们就来具体观察一下这个网站因为它是带分页的。所以点击翻到豆瓣图书的第2页。我们能够瞧见, 网址产生了变动, 后面多出来了?start 25 这么个东西。此时当下的你, 理应就能够猜得出后侧那些数字莫非就是在代表着一页的 25 本图书? 我们另外还能够去瞅一眼第三页, 用以去验证一番。确实情形表明, 我们猜对了, 每一次翻动一页, 网址最后的数字便会提升25, 这意味着这个start的参数就是用来表示每页的25本书籍。意思就是讲, 只要去改变?start后面跟着的数字, 这般一来, 翻一页就会加25, 如此我们便能够获取到每一页的网址。网页我们已经得到接下来就是如何去得到所要爬取的内容了依旧是通过右击的方式来打开“检查”工具, 先进行点击操作, 接着再点击光标, 随后把鼠标依照顺序移到书名、出版信息以及评分这些位置, 这样在HTML中就能够找到那些书籍的相关信息了。就如同下面所展示的, 关于《红楼梦》的书籍信息全部都放置在table标签之中。但是问题出现了事实上, 每一页的二十五本书籍的相关信息, 都各自藏在了一个table标签当中。然而, 这个标签既没有class属性, 又没有id属性, 这使得我们提取信息变得不太方便。事到如今该如何处理呢? 我们必须持续不断再次寻觅一个, 既能够便利我们去提取, 又能够涵盖所有书籍资讯的标签。标点符号。我们能够瞧瞧table标签之下的tr元素, 看上去恰好全都能够满足我们的需求, 既具备class属性, 还涵盖着书籍的信息。最后来总结一下我们只要取出元素下元素的title属性的值、元素元素就能得到书名、出版信息和评分的数据。3.代码实现在随后的进程当中, 将会关联到诸多的用法, 要是期望学成的话, 那么你务必要仔细地瞧1.的安装和文件生成使用 conda 安装 ,运行conda install -c conda-forge scrapy或者可以从pypi安装及其依赖项pip install Scrapy安装完成后要在本地电脑打开一个你要保存的文件再框内输入cmd然后回车就能跳转到对于文件的终端随后, 再键入这么一行能够帮我们进行项目创建的命令, , 此即为项目的名称。按下回车键, 一个项目便创建成功了, 只要循序渐进地来, 肯定不会出现差错的。下载完成后可以看到有这些文件项目里每个文件都有它对应的具体功能。例如.py 是里的各种设置、items.py是用来定义数据的、.py是用来处理数据的它们对应的就是的结构中的Item 数据管道。居于其中最为关键重要的, 乃是用于放置爬虫的那个目录。于这个文件夹之内, 我们能够去创建爬虫文件。我们着手来把这个文件, 予以命名为。后续之中的大部分代码, 皆需于这个.py文件里开展编写工作。2.核心代码接下来都是高能部分了跟紧了进行导入, 作用在于解析以及提取数据, 导入是接下来我们会运用创设类的形式来编写这个爬虫, 我们所开创的类会直接继承其中的类, 于是, 存在诸多好用的属性以及方法, 便能够直接加以使用。接着我们开始编写爬虫的核心代码。在中每个爬虫的代码结构基本都如下所示import scrapy import bs4 class DoubanSpider(scrapy.Spider): # 定义一个爬虫类DoubanSpider name book_douban # name是定义爬虫的名字这个名字是爬虫的唯一标识。 # name book_douban意思是定义爬虫的名字为book_douban。 # 等会我们启动爬虫的时候要用到这个名字。 allowed_domains [book.douban.com] # allowed_domains是定义允许爬虫爬取的网址域名不需要加https://。 # 如果网址的域名不在这个列表里就会被过滤掉。 start_urls [https://book.douban.com/top250?start0] # start_urls是定义起始网址就是爬虫从哪个网址开始抓取。 # 并且allowed_domains的设定对start_urls里的网址不会有影响。 def parse(self, response): # parse是Scrapy里默认处理response的一个方法。 print(response.text)是不是觉得和之前自己动手写爬虫的完全不一样了呢怎么连.get()到底都没剩下任何东西了吗? 实际上, 处于那个框架范围之内的时候, 我们是根本没必要把这一句话给写出来的。这个框架它会替我们去完成这样一件事情的, 等写好相应请求之后, 紧接着你就能够直接去写对应的内容。如何做处理我会在后面做出示例。我们在上面, 已然寻得了网站的规律, 我们径直运用for循环, 从而获取每个网址。(页数-1)*25 代码如下for x in range(3): # 获取网址添加到start_urls url fhttps://book.douban.com/top250?start{x * 25} start_urls.append(url)首先, 我们仅先行爬取豆瓣前三页的书籍相关信息, 而后, 紧接着, 只要再度借助括弧当中的parse方法予以处理阶段, 借助其来取出我们心之所向的书籍信息所相应的数据。行动起来吧。def parse(self, response): #parse是默认处理response的方法。 bs bs4.BeautifulSoup(response.text,html.parser) #用BeautifulSoup解析response。 datas bs.find_all(tr,class_item) #用find_all提取元素这个元素里含有书籍信息。按照流程接下来就应该保存数据了但是在里面有点不一样哦。如.py, 仅仅从事理应去做的事情。对于数据而言, 后续的处理工作, 由其他的“部门”来负责。在其中, 我们会专门去设立一个用于记录数据的类。恰恰是那items.py, 是定义这些数据类的文书文件。接下来让我们在 items.py 中编写这部分的代码import scrapy # 导入scrapy class BookDoubanItem(scrapy.Item): # 定义一个类BookDoubanItem它继承自scrapy.Item title scrapy.Field() # 定义书名的数据属性 publish scrapy.Field() # 定义出版信息的数据属性 score scrapy.Field() # 定义评分的数据属性这行代码.Field()能够做到的是, 使得数据能够以近似字典的样子进行记录。然而, 它并非是dict, 它的数据类型是我们所定义的, 是属于那种我们称为“自定义的字典”的类型。紧接着我们去重写.pydef parse(self, response): # parse是默认处理response的方法 bs bs4.BeautifulSoup(response.text, html.parser) # 用BeautifulSoup解析response datas bs.find_all(tr, class_item) # 用find_all提取元素这个元素里含有书籍信息 for data in datas: # 遍历data item BookDoubanItem() # 实例化DoubanItem这个类 item[title] data.find_all(a)[1][title] # 提取出书名并把这个数据放回DoubanItem类的title属性里 item[publish] data.find(p, class_pl).text # 提取出出版信息并把这个数据放回DoubanItem类的publish里 item[score] data.find(span, class_rating_nums).text # 提取出评分并把这个数据放回DoubanItem类的score属性里。 print(item[title]) # 打印书名 yield item # yield item是把获得的item传递给引擎当做记录一回数据之际, 好比先前于每一个最小循环当中, 皆得记录“书名”, “出版信息”, “评分”那般。我们会去实例化一个item对象, 借助此对象来记录数据。一个对象对应一回数据。在框架里每一次当数据完成记录它会离开来到有一种东西叫引擎, 引擎发挥作用会把某个对象送入名为Item的数据管道进行处理, 而这个处理过程当中, 会用到一种语句, 它叫yield语句。对于yield语句, 你或许尚未充分知晓, 在此处你能够简易地理解成: 它存在些许类似之处, 然而它与其他事物不同的要点便是, 它不会令函数终止, 而且能够多次去返回相关信息。3.思路整理来让我们理一下思路有一种程序, 它能将涉及豆瓣的十个网址, 以特定方式进行封装形成对象, 之后有个引擎组件, 会从这个程序所封装的内容里, 把对象提取出来, 提取之后就交给另一个调度器组件, 由调度器对这些对象进行排序以及处理操作。处理完成后, 引擎又会把经过调度器处理的对象发送给下载器组件, 下载器收到指令后, 会立刻按照引擎下达的命令去进行爬取工作, 爬取到相关内容后, 再把这些内容返回给引擎。引擎收到返回内容后, 又会将其发回到最初的那个程序, 此时该程序会启动默认用来处理的parse方法, 从爬取到的内容中解析并提取出有关书籍信息的数据, 提取出来的数据会使用item进行记录, 记录完成后再返回给引擎。引擎最后会把这些数据送入Item 也就是数据管道进行处理。要是当下运行依旧会出现报错情况, 缘由是其中的默认设置未曾被更改。举例来说, 我们得去修改请求头User - Agent得进行设置。点击.py文件, 你能够于其中找到如下这般的默认设置代码:将USER的注释取消, 也就是删除#, 在此处进行, 之后替换user-agent的内容, 从而修改了请求头。而且由于是遵循协议而行的, 要是存在协议所禁止抓取提取的一些内容, 那么也会在默认这种情况下不去进行抓取提取, 因此我们仍然需要对其中的默认设置作出修改。将True转变为False, 这意味着把遵循协议替换成不必依照协议, 以此便可毫无约束地开展运行。最后来看一下.py的完整代码import scrapy import bs4 from ..items import BookDoubanItem class DoubanSpider(scrapy.Spider): # 定义一个爬虫类DoubanSpider name book_douban # name是定义爬虫的名字这个名字是爬虫的唯一标识。 # name book_douban意思是定义爬虫的名字为book_douban。 # 等会我们启动爬虫的时候要用到这个名字。 allowed_domains [book.douban.com] # allowed_domains是定义允许爬虫爬取的网址域名不需要加https://。 # 如果网址的域名不在这个列表里就会被过滤掉。 start_urls [https://book.douban.com/top250?start0] # start_urls是定义起始网址就是爬虫从哪个网址开始抓取。 # 并且allowed_domains的设定对start_urls里的网址不会有影响。 for x in range(3): url fhttps://book.douban.com/top250?start{x * 25} start_urls.append(url) def parse(self, response): # parse是默认处理response的方法 bs bs4.BeautifulSoup(response.text, html.parser) # 用BeautifulSoup解析response datas bs.find_all(tr, class_item) # 用find_all提取元素这个元素里含有书籍信息 for data in datas: # 遍历data item BookDoubanItem() # 实例化DoubanItem这个类 item[title] data.find_all(a)[1][title] # 提取出书名并把这个数据放回DoubanItem类的title属性里 item[publish] data.find(p, class_pl).text # 提取出出版信息并把这个数据放回DoubanItem类的publish里 item[score] data.find(span, class_rating_nums).text # 提取出评分并把这个数据放回DoubanItem类的score属性里。 print(item[title]) # 打印书名 yield item # yield item是把获得的item传递给引擎4.运行想要运行有两种方法一种是于本地电脑的终端跳转至项目的文件夹之后输入命令行: crawl 此乃我们爬虫的名字。另一种运行方式要求我们在最外层的大文件夹内新建一个main.py文件该文件与.cfg处于同级。代码from scrapy import cmdline #导入cmdline模块,可以实现控制终端命令行 cmdline.execute([scrapy,crawl,book_douban]) #用execute方法输入运行scrapy的命令大功告成让我们来运行试一试吧。在终端可以看到所爬取的数据Nice这儿不存在保存的数据, 鉴于存储该数据得对.py文件予以修改, 内容数量过多, 过几天就会接着更新, 去教导大家怎样保存数据。四.总结这东西好用是好用, 然而针对那些新手来讲去学它还是存在一定困难程度的, 不过我坚信, 在看完我的那份教程之后, 凭借自身的摸索探寻, 必定能够取得成功的。要是有小伙伴想要进一步深入学习的话可以去查看中文文档。WWw.m.Mbma.cN/Article/details/69839.shtmlWWw.m.Mbma.cN/Article/details/49685.shtmlWWw.m.Mbma.cN/Article/details/38093.shtmlWWw.m.Mbma.cN/Article/details/88864.shtmlWWw.m.Mbma.cN/Article/details/98956.shtmlWWw.m.Mbma.cN/Article/details/43213.shtmlWWw.m.Mbma.cN/Article/details/23705.shtmlWWw.m.Mbma.cN/Article/details/53405.shtmlWWw.m.Mbma.cN/Article/details/18960.shtmlWWw.m.Mbma.cN/Article/details/18920.shtmlWWw.m.Mbma.cN/Article/details/32701.shtmlWWw.m.Mbma.cN/Article/details/96776.shtmlWWw.m.Mbma.cN/Article/details/25108.shtmlWWw.m.Mbma.cN/Article/details/27341.shtmlWWw.m.Mbma.cN/Article/details/34278.shtmlWWw.m.Mbma.cN/Article/details/96360.shtmlWWw.m.Mbma.cN/Article/details/95661.shtmlWWw.m.Mbma.cN/Article/details/38244.shtmlWWw.m.Mbma.cN/Article/details/00348.shtmlWWw.m.Mbma.cN/Article/details/37721.shtmlWWw.m.Mbma.cN/Article/details/26952.shtmlWWw.m.Mbma.cN/Article/details/17861.shtmlWWw.m.Mbma.cN/Article/details/32894.shtmlWWw.m.Mbma.cN/Article/details/89890.shtmlWWw.m.Mbma.cN/Article/details/18411.shtmlWWw.m.Mbma.cN/Article/details/44508.shtmlWWw.m.Mbma.cN/Article/details/99822.shtmlWWw.m.Mbma.cN/Article/details/88662.shtmlWWw.m.Mbma.cN/Article/details/95940.shtmlWWw.m.Mbma.cN/Article/details/96122.shtmlWWw.m.Mbma.cN/Article/details/96240.shtmlWWw.m.Mbma.cN/Article/details/01759.shtmlWWw.m.Mbma.cN/Article/details/71772.shtmlWWw.m.Mbma.cN/Article/details/78759.shtmlWWw.m.Mbma.cN/Article/details/81413.shtmlWWw.m.Mbma.cN/Article/details/83629.shtmlWWw.m.Mbma.cN/Article/details/02065.shtmlWWw.m.Mbma.cN/Article/details/45621.shtmlWWw.m.Mbma.cN/Article/details/85969.shtmlWWw.m.Mbma.cN/Article/details/08636.shtmlWWw.m.Mbma.cN/Article/details/88923.shtmlWWw.m.Mbma.cN/Article/details/81032.shtmlWWw.m.Mbma.cN/Article/details/79276.shtmlWWw.m.Mbma.cN/Article/details/99935.shtmlWWw.m.Mbma.cN/Article/details/04524.shtmlWWw.m.Mbma.cN/Article/details/17314.shtmlWWw.m.Mbma.cN/Article/details/58451.shtmlWWw.m.Mbma.cN/Article/details/66733.shtmlWWw.m.Mbma.cN/Article/details/89817.shtmlWWw.m.Mbma.cN/Article/details/20277.shtmlWWw.m.Mbma.cN/Article/details/69267.shtmlWWw.m.Mbma.cN/Article/details/34523.shtmlWWw.m.Mbma.cN/Article/details/62002.shtmlWWw.m.Mbma.cN/Article/details/42629.shtmlWWw.m.Mbma.cN/Article/details/93187.shtmlWWw.m.Mbma.cN/Article/details/14159.shtmlWWw.m.Mbma.cN/Article/details/22590.shtmlWWw.m.Mbma.cN/Article/details/00271.shtmlWWw.m.Mbma.cN/Article/details/99664.shtmlWWw.m.Mbma.cN/Article/details/27370.shtmlWWw.m.Mbma.cN/Article/details/45578.shtmlWWw.m.Mbma.cN/Article/details/45445.shtmlWWw.m.Mbma.cN/Article/details/32413.shtmlWWw.m.Mbma.cN/Article/details/66166.shtmlWWw.m.Mbma.cN/Article/details/75526.shtmlWWw.m.Mbma.cN/Article/details/61524.shtmlWWw.m.Mbma.cN/Article/details/76410.shtmlWWw.m.Mbma.cN/Article/details/80133.shtmlWWw.m.Mbma.cN/Article/details/35949.shtmlWWw.m.Mbma.cN/Article/details/92871.shtmlWWw.m.Mbma.cN/Article/details/31939.shtmlWWw.m.Mbma.cN/Article/details/64424.shtmlWWw.m.Mbma.cN/Article/details/10827.shtmlWWw.m.Mbma.cN/Article/details/53923.shtmlWWw.m.Mbma.cN/Article/details/84420.shtmlWWw.m.Mbma.cN/Article/details/56112.shtmlWWw.m.Mbma.cN/Article/details/93312.shtmlWWw.m.Mbma.cN/Article/details/57734.shtmlWWw.m.Mbma.cN/Article/details/96472.shtmlWWw.m.Mbma.cN/Article/details/08156.shtmlWWw.m.Mbma.cN/Article/details/93703.shtmlWWw.m.Mbma.cN/Article/details/33350.shtmlWWw.m.Mbma.cN/Article/details/78537.shtmlWWw.m.Mbma.cN/Article/details/75321.shtmlWWw.m.Mbma.cN/Article/details/52010.shtmlWWw.m.Mbma.cN/Article/details/60206.shtmlWWw.m.Mbma.cN/Article/details/62961.shtmlWWw.m.Mbma.cN/Article/details/70132.shtmlWWw.m.Mbma.cN/Article/details/44539.shtmlWWw.m.Mbma.cN/Article/details/95719.shtmlWWw.m.Mbma.cN/Article/details/67371.shtmlWWw.m.Mbma.cN/Article/details/07961.shtmlWWw.m.Mbma.cN/Article/details/54667.shtmlWWw.m.Mbma.cN/Article/details/18601.shtmlWWw.m.Mbma.cN/Article/details/15406.shtmlWWw.m.Mbma.cN/Article/details/30069.shtmlWWw.m.Mbma.cN/Article/details/29180.shtmlWWw.m.Mbma.cN/Article/details/49790.shtmlWWw.m.Mbma.cN/Article/details/43281.shtmlWWw.m.Mbma.cN/Article/details/29703.shtmlWWw.m.Mbma.cN/Article/details/15428.shtmlWWw.m.Mbma.cN/Article/details/68089.shtmlWWw.m.Mbma.cN/Article/details/83418.shtmlWWw.m.Mbma.cN/Article/details/57814.shtmlWWw.m.Mbma.cN/Article/details/57197.shtmlWWw.m.Mbma.cN/Article/details/18925.shtmlWWw.m.Mbma.cN/Article/details/28097.shtmlWWw.m.Mbma.cN/Article/details/35187.shtmlWWw.m.Mbma.cN/Article/details/37816.shtmlWWw.m.Mbma.cN/Article/details/85595.shtmlWWw.m.Mbma.cN/Article/details/27538.shtmlWWw.m.Mbma.cN/Article/details/90104.shtmlWWw.m.Mbma.cN/Article/details/23859.shtmlWWw.m.Mbma.cN/Article/details/02642.shtmlWWw.m.Mbma.cN/Article/details/06099.shtmlWWw.m.Mbma.cN/Article/details/47496.shtmlWWw.m.Mbma.cN/Article/details/47579.shtmlWWw.m.Mbma.cN/Article/details/96877.shtmlWWw.m.Mbma.cN/Article/details/88119.shtmlWWw.m.Mbma.cN/Article/details/14191.shtmlWWw.m.Mbma.cN/Article/details/24770.shtmlWWw.m.Mbma.cN/Article/details/40277.shtmlWWw.m.Mbma.cN/Article/details/16334.shtmlWWw.m.Mbma.cN/Article/details/62868.shtmlWWw.m.Mbma.cN/Article/details/51865.shtmlWWw.m.Mbma.cN/Article/details/60087.shtmlWWw.m.Mbma.cN/Article/details/24688.shtmlWWw.m.Mbma.cN/Article/details/60888.shtmlWWw.m.Mbma.cN/Article/details/88725.shtmlWWw.m.Mbma.cN/Article/details/94784.shtmlWWw.m.Mbma.cN/Article/details/25591.shtmlWWw.m.Mbma.cN/Article/details/00281.shtmlWWw.m.Mbma.cN/Article/details/14378.shtmlWWw.m.Mbma.cN/Article/details/43034.shtmlWWw.m.Mbma.cN/Article/details/97566.shtmlWWw.m.Mbma.cN/Article/details/98095.shtmlWWw.m.Mbma.cN/Article/details/16807.shtmlWWw.m.Mbma.cN/Article/details/18041.shtmlWWw.m.Mbma.cN/Article/details/70425.shtmlWWw.m.Mbma.cN/Article/details/69062.shtmlWWw.m.Mbma.cN/Article/details/94440.shtmlWWw.m.Mbma.cN/Article/details/66576.shtmlWWw.m.Mbma.cN/Article/details/33299.shtmlWWw.m.Mbma.cN/Article/details/79581.shtmlWWw.m.Mbma.cN/Article/details/92740.shtmlWWw.m.Mbma.cN/Article/details/76856.shtmlWWw.m.Mbma.cN/Article/details/34999.shtmlWWw.m.Mbma.cN/Article/details/68878.shtmlWWw.m.Mbma.cN/Article/details/95740.shtmlWWw.m.Mbma.cN/Article/details/12731.shtmlWWw.m.Mbma.cN/Article/details/87882.shtmlWWw.m.Mbma.cN/Article/details/87191.shtmlWWw.m.Mbma.cN/Article/details/45120.shtmlWWw.m.Mbma.cN/Article/details/42115.shtmlWWw.m.Mbma.cN/Article/details/81214.shtmlWWw.m.Mbma.cN/Article/details/79994.shtmlWWw.m.Mbma.cN/Article/details/75059.shtmlWWw.m.Mbma.cN/Article/details/44329.shtmlWWw.m.Mbma.cN/Article/details/48583.shtmlWWw.m.Mbma.cN/Article/details/34335.shtmlWWw.m.Mbma.cN/Article/details/48350.shtmlWWw.m.Mbma.cN/Article/details/96224.shtmlWWw.m.Mbma.cN/Article/details/22776.shtmlWWw.m.Mbma.cN/Article/details/37882.shtmlWWw.m.Mbma.cN/Article/details/80292.shtmlWWw.m.Mbma.cN/Article/details/15446.shtmlWWw.m.Mbma.cN/Article/details/89352.shtmlWWw.m.Mbma.cN/Article/details/25797.shtmlWWw.m.Mbma.cN/Article/details/06631.shtmlWWw.m.Mbma.cN/Article/details/35542.shtmlWWw.m.Mbma.cN/Article/details/50756.shtmlWWw.m.Mbma.cN/Article/details/45182.shtmlWWw.m.Mbma.cN/Article/details/80744.shtmlWWw.m.Mbma.cN/Article/details/69634.shtmlWWw.m.Mbma.cN/Article/details/91508.shtmlWWw.m.Mbma.cN/Article/details/16154.shtmlWWw.m.Mbma.cN/Article/details/58757.shtmlWWw.m.Mbma.cN/Article/details/75948.shtmlWWw.m.Mbma.cN/Article/details/90181.shtmlWWw.m.Mbma.cN/Article/details/93989.shtmlWWw.m.Mbma.cN/Article/details/65682.shtmlWWw.m.Mbma.cN/Article/details/09727.shtmlWWw.m.Mbma.cN/Article/details/41755.shtmlWWw.m.Mbma.cN/Article/details/17588.shtmlWWw.m.Mbma.cN/Article/details/12077.shtmlWWw.m.Mbma.cN/Article/details/90437.shtmlWWw.m.Mbma.cN/Article/details/64037.shtmlWWw.m.Mbma.cN/Article/details/20687.shtmlWWw.m.Mbma.cN/Article/details/61196.shtmlWWw.m.Mbma.cN/Article/details/79472.shtmlWWw.m.Mbma.cN/Article/details/04269.shtmlWWw.m.Mbma.cN/Article/details/63918.shtmlWWw.m.Mbma.cN/Article/details/03632.shtmlWWw.m.Mbma.cN/Article/details/12883.shtmlWWw.m.Mbma.cN/Article/details/07019.shtmlWWw.m.Mbma.cN/Article/details/81039.shtmlWWw.m.Mbma.cN/Article/details/73217.shtmlWWw.m.Mbma.cN/Article/details/50712.shtmlWWw.m.Mbma.cN/Article/details/73616.shtmlWWw.m.Mbma.cN/Article/details/79225.shtmlWWw.m.Mbma.cN/Article/details/09967.shtmlWWw.m.Mbma.cN/Article/details/61974.shtmlWWw.m.Mbma.cN/Article/details/96975.shtmlWWw.m.Mbma.cN/Article/details/19726.shtmlWWw.m.Mbma.cN/Article/details/86676.shtmlWWw.m.Mbma.cN/Article/details/01892.shtmlWWw.m.Mbma.cN/Article/details/89668.shtmlWWw.m.Mbma.cN/Article/details/17091.shtmlWWw.m.Mbma.cN/Article/details/74647.shtmlWWw.m.Mbma.cN/Article/details/02117.shtmlWWw.m.Mbma.cN/Article/details/29916.shtmlWWw.m.Mbma.cN/Article/details/32815.shtmlWWw.m.Mbma.cN/Article/details/41814.shtmlWWw.m.Mbma.cN/Article/details/80458.shtmlWWw.m.Mbma.cN/Article/details/77960.shtmlWWw.m.Mbma.cN/Article/details/36441.shtmlWWw.m.Mbma.cN/Article/details/09277.shtmlWWw.m.Mbma.cN/Article/details/02007.shtmlWWw.m.Mbma.cN/Article/details/14185.shtmlWWw.m.Mbma.cN/Article/details/63362.shtmlWWw.m.Mbma.cN/Article/details/98811.shtmlWWw.m.Mbma.cN/Article/details/01687.shtmlWWw.m.Mbma.cN/Article/details/30403.shtmlWWw.m.Mbma.cN/Article/details/41896.shtmlWWw.m.Mbma.cN/Article/details/38815.shtmlWWw.m.Mbma.cN/Article/details/72131.shtmlWWw.m.Mbma.cN/Article/details/83588.shtmlWWw.m.Mbma.cN/Article/details/70570.shtmlWWw.m.Mbma.cN/Article/details/10578.shtmlWWw.m.Mbma.cN/Article/details/29344.shtmlWWw.m.Mbma.cN/Article/details/89234.shtmlWWw.m.Mbma.cN/Article/details/76677.shtmlWWw.m.Mbma.cN/Article/details/48339.shtmlWWw.m.Mbma.cN/Article/details/98105.shtmlWWw.m.Mbma.cN/Article/details/32827.shtmlWWw.m.Mbma.cN/Article/details/66762.shtmlWWw.m.Mbma.cN/Article/details/99438.shtmlWWw.m.Mbma.cN/Article/details/83559.shtmlWWw.m.Mbma.cN/Article/details/49803.shtmlWWw.m.Mbma.cN/Article/details/62934.shtmlWWw.m.Mbma.cN/Article/details/49007.shtmlWWw.m.Mbma.cN/Article/details/32156.shtmlWWw.m.Mbma.cN/Article/details/95447.shtmlWWw.m.Mbma.cN/Article/details/19918.shtmlWWw.m.Mbma.cN/Article/details/31781.shtmlWWw.m.Mbma.cN/Article/details/40209.shtmlWWw.m.Mbma.cN/Article/details/21951.shtmlWWw.m.Mbma.cN/Article/details/90846.shtmlWWw.m.Mbma.cN/Article/details/74266.shtmlWWw.m.Mbma.cN/Article/details/79439.shtmlWWw.m.Mbma.cN/Article/details/18105.shtmlWWw.m.Mbma.cN/Article/details/92529.shtmlWWw.m.Mbma.cN/Article/details/43222.shtmlWWw.m.Mbma.cN/Article/details/57725.shtmlWWw.m.Mbma.cN/Article/details/23177.shtmlWWw.m.Mbma.cN/Article/details/45751.shtmlWWw.m.Mbma.cN/Article/details/13191.shtmlWWw.m.Mbma.cN/Article/details/89749.shtmlWWw.m.Mbma.cN/Article/details/65923.shtmlWWw.m.Mbma.cN/Article/details/62142.shtmlWWw.m.Mbma.cN/Article/details/59970.shtmlWWw.m.Mbma.cN/Article/details/85395.shtmlWWw.m.Mbma.cN/Article/details/22733.shtmlWWw.m.Mbma.cN/Article/details/60206.shtmlWWw.m.Mbma.cN/Article/details/82468.shtmlWWw.m.Mbma.cN/Article/details/19708.shtmlWWw.m.Mbma.cN/Article/details/59659.shtmlWWw.m.Mbma.cN/Article/details/48840.shtmlWWw.m.Mbma.cN/Article/details/11224.shtmlWWw.m.Mbma.cN/Article/details/51974.shtmlWWw.m.Mbma.cN/Article/details/28959.shtmlWWw.m.Mbma.cN/Article/details/42392.shtmlWWw.m.Mbma.cN/Article/details/08871.shtmlWWw.m.Mbma.cN/Article/details/44782.shtmlWWw.m.Mbma.cN/Article/details/52222.shtmlWWw.m.Mbma.cN/Article/details/32651.shtmlWWw.m.Mbma.cN/Article/details/73819.shtmlWWw.m.Mbma.cN/Article/details/62487.shtmlWWw.m.Mbma.cN/Article/details/59653.shtmlWWw.m.Mbma.cN/Article/details/99724.shtmlWWw.m.Mbma.cN/Article/details/27263.shtmlWWw.m.Mbma.cN/Article/details/15777.shtmlWWw.m.Mbma.cN/Article/details/82205.shtmlWWw.m.Mbma.cN/Article/details/18833.shtmlWWw.m.Mbma.cN/Article/details/01719.shtmlWWw.m.Mbma.cN/Article/details/26853.shtmlWWw.m.Mbma.cN/Article/details/56462.shtmlWWw.m.Mbma.cN/Article/details/72906.shtmlWWw.m.Mbma.cN/Article/details/31000.shtmlWWw.m.Mbma.cN/Article/details/32712.shtmlWWw.m.Mbma.cN/Article/details/53509.shtmlWWw.m.Mbma.cN/Article/details/10867.shtmlWWw.m.Mbma.cN/Article/details/41125.shtmlWWw.m.Mbma.cN/Article/details/08957.shtmlWWw.m.Mbma.cN/Article/details/48398.shtmlWWw.m.Mbma.cN/Article/details/38721.shtmlWWw.m.Mbma.cN/Article/details/95819.shtmlWWw.m.Mbma.cN/Article/details/48564.shtmlWWw.m.Mbma.cN/Article/details/42474.shtmlWWw.m.Mbma.cN/Article/details/58015.shtmlWWw.m.Mbma.cN/Article/details/80050.shtmlWWw.m.Mbma.cN/Article/details/15156.shtmlWWw.m.Mbma.cN/Article/details/38608.shtmlWWw.m.Mbma.cN/Article/details/13458.shtmlWWw.m.Mbma.cN/Article/details/08142.shtmlWWw.m.Mbma.cN/Article/details/73916.shtmlWWw.m.Mbma.cN/Article/details/00745.shtmlWWw.m.Mbma.cN/Article/details/09267.shtmlWWw.m.Mbma.cN/Article/details/60126.shtmlWWw.m.Mbma.cN/Article/details/26268.shtmlWWw.m.Mbma.cN/Article/details/85208.shtmlWWw.m.Mbma.cN/Article/details/21244.shtmlWWw.m.Mbma.cN/Article/details/45798.shtmlWWw.m.Mbma.cN/Article/details/38908.shtmlWWw.m.Mbma.cN/Article/details/14126.shtmlWWw.m.Mbma.cN/Article/details/23665.shtmlWWw.m.Mbma.cN/Article/details/01528.shtmlWWw.m.Mbma.cN/Article/details/67003.shtmlWWw.m.Mbma.cN/Article/details/93264.shtmlWWw.m.Mbma.cN/Article/details/56548.shtmlWWw.m.Mbma.cN/Article/details/85330.shtmlWWw.m.Mbma.cN/Article/details/26501.shtmlWWw.m.Mbma.cN/Article/details/61552.shtmlWWw.m.Mbma.cN/Article/details/41431.shtmlWWw.m.Mbma.cN/Article/details/31984.shtmlWWw.m.Mbma.cN/Article/details/44869.shtmlWWw.m.Mbma.cN/Article/details/61097.shtmlWWw.m.Mbma.cN/Article/details/83481.shtmlWWw.m.Mbma.cN/Article/details/75149.shtmlWWw.m.Mbma.cN/Article/details/60508.shtmlWWw.m.Mbma.cN/Article/details/97065.shtmlWWw.m.Mbma.cN/Article/details/23458.shtmlWWw.m.Mbma.cN/Article/details/31892.shtmlWWw.m.Mbma.cN/Article/details/55492.shtmlWWw.m.Mbma.cN/Article/details/37471.shtmlWWw.m.Mbma.cN/Article/details/93413.shtmlWWw.m.Mbma.cN/Article/details/36578.shtmlWWw.m.Mbma.cN/Article/details/96814.shtmlWWw.m.Mbma.cN/Article/details/52095.shtmlWWw.m.Mbma.cN/Article/details/38928.shtmlWWw.m.Mbma.cN/Article/details/86526.shtmlWWw.m.Mbma.cN/Article/details/09348.shtmlWWw.m.Mbma.cN/Article/details/70914.shtmlWWw.m.Mbma.cN/Article/details/41512.shtmlWWw.m.Mbma.cN/Article/details/53526.shtmlWWw.m.Mbma.cN/Article/details/95297.shtmlWWw.m.Mbma.cN/Article/details/56527.shtmlWWw.m.Mbma.cN/Article/details/53225.shtmlWWw.m.Mbma.cN/Article/details/52087.shtmlWWw.m.Mbma.cN/Article/details/81462.shtmlWWw.m.Mbma.cN/Article/details/92787.shtmlWWw.m.Mbma.cN/Article/details/97090.shtmlWWw.m.Mbma.cN/Article/details/32175.shtmlWWw.m.Mbma.cN/Article/details/31980.shtmlWWw.m.Mbma.cN/Article/details/48833.shtmlWWw.m.Mbma.cN/Article/details/91101.shtmlWWw.m.Mbma.cN/Article/details/92525.shtmlWWw.m.Mbma.cN/Article/details/53565.shtmlWWw.m.Mbma.cN/Article/details/31576.shtmlWWw.m.Mbma.cN/Article/details/59577.shtmlWWw.m.Mbma.cN/Article/details/29388.shtmlWWw.m.Mbma.cN/Article/details/11416.shtmlWWw.m.Mbma.cN/Article/details/63058.shtmlWWw.m.Mbma.cN/Article/details/11956.shtmlWWw.m.Mbma.cN/Article/details/33182.shtmlWWw.m.Mbma.cN/Article/details/93649.shtml