爬取王琳杰-博客园的博文

Posted wanglinjie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬取王琳杰-博客园的博文相关的知识,希望对你有一定的参考价值。

  1. 获取页面信息,用XPath  做数据提取

  2. 获取每个blog里的用标题、正文、阅读次数信息

  3. 保存到 json 文件内

# -*- coding:utf-8 -*-

import urllib
import urllib2
from lxml import etree

def loadPage(url):
    """
        作用:根据url发送请求,获取服务器响应文件
        url: 需要爬取的url地址
    """
    #print url
    #headers = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (Khtml, like Gecko) Chrome/17.0.963.56 Safari/535.11"}

    request = urllib2.Request(url)
    html = urllib2.urlopen(request).read()
    # 解析HTML文档为HTML DOM模型
    content = etree.HTML(html)
    #print content
    # 返回所有匹配成功的列表集合
    link_list = content.xpath(//div[@class="postTitle"]/a/@href)
    for link in link_list:
        
        #print link
        loadpage(link)

# 取出每个文章的链接
def loadpage(link):
    headers = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
    request = urllib2.Request(link, headers = headers)
    html = urllib2.urlopen(request).read()
    # 解析
    content = etree.HTML(html)
    # 取出每层发送的文章链接集合
    link_list = content.xpath(//div[@class="post"]//a)[0].text
    print link_list
    # 取出每个标题,正文,阅读的连接
    #for link in link_list:
    #   print link
    #   write(link)

def blogSpider(url, beginPage, endPage):
    """
        作用:贴吧爬虫调度器,负责组合处理每个页面的url
        url : 贴吧url的前部分
        beginPage : 起始页
        endPage : 结束页
    """
    for page in range(beginPage, endPage + 1):
        pn = page
        fullurl = url + str(pn)
        #print fullurl
        loadPage(fullurl)
        #print html

        print "谢谢使用"

if __name__ == "__main__":
    beginPage = int(raw_input("请输入起始页:"))
    endPage = int(raw_input("请输入结束页:"))

    url = "http://www.cnblogs.com/wanglinjie/default.html?page="
    blogSpider(url, beginPage, endPage)

 待完。。。


以上是关于爬取王琳杰-博客园的博文的主要内容,如果未能解决你的问题,请参考以下文章

爬虫实战使用python爬取博客园的某一篇文章

python——关于简单爬取博客园班级成员发的博文的题目发布人阅读评论,再存到csv文件中

关于将博客搬家至博客园的声明

使用nodejs下载风景壁纸

博客搬家说明!

无意间发现我的博客园的年龄有11年了