目录
0.写在前面
1.分析页面
2.获取页面源码
3.解析数据
4.数据存储及导出
4.1 数据存储
4.2 数据导出
5.pandas实现导出
6.面向对象封装
0.写在前面
目标页面
http://i.dxy.cn/profile/yilizhongzi
目的
爬取丁香园用户主页的信息,这些信息如下图字段:

爬取字段图
也就是从用户主页提取这些数据,那么我们开始实战!
1.分析页面

分析页面图
我们需要爬取的信息就是上述图中侧边栏信息,它对应的源码如图中红色方框所示!
思路
第一步:获取页面源码
第二步:通过xpath解析对应数据,并存储为字典格式
第三步:存储至MongoDB数据库,并利用可视化工具导出csv文件
第四步:存储至excel中(或csv文件)中
2.获取页面源码
def get_html(self):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}
req = requests.get(self.url, headers=headers).text
# print(req)
return req
3.解析数据
xpath解析方法
以下面实际例子为例:
谷歌浏览器右键检查,页面分析源码,找到如下图的div,然后会发现class="follows-fans clearfix"
里面包含这三个关注、粉丝、丁当相关信息。