分析网站结构
方法一:利用网站协议和sitemap去分析网站结构
Robots 协议
也称为爬虫协议、机器人协议,全称是“网络爬虫排除标准”
该协议文件放置在网站根目录下,在访问网站的时候要查看的第一个文件就是robots.txt协议文件,网站通过robots.txt协议文件告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,但是并不是每个网站必须有
马蜂窝robots协议
sitemap
告诉搜索引擎网站的架构,每个网站有自己的sitemap结构。它是一个xml文件,定义了各种类型文章的聚合页面。点开任意一个sitemap,得到的是另一个页面,它是一些具体的文章。内容需要长期沉淀的网站非常适合做sitemap,对于实时更新的网页比如微博,就不会进行设计sitemap。
以马蜂窝的页面网址为例:
http://www.mafengwo.cn/yj/10010/
10010 表示某一个板块(某一个城市),再点开分页。
http://www.mafengwo.cn/i/10472598.html
i后面就是一篇一篇文章
马蜂窝sitemap
方法二:没有sitemap的情况
首先下载网页源文件,并存在编辑器中以网页格式保存。然后建立一个python文件,通过打开文件、正则表达式等语句搜索到所有的文章。
import re
with open('mfw.html', 'r') as f:
c = f.read()
#http://www.mafengwo.cn/i/12984470.html
pattern = re.compile(r'/i/\d{5,8}.html') #将正则表达式编译成pattern对象
print(pattern.findall(c))#利用pattern的方法findall对文本进行匹配查找