Python实现抓取CSDN博客首页文章列表
1、使用工具:  
Python3.5  
BeautifulSoup  
2、抓取网站:  
csdn首页文章列表 http://blog.csdn.net/ 
3、分析网站文章列表代码: 
 
4、实现抓取代码:
__author__ = 'Administrator'
import urllib.request
import re
from bs4 import BeautifulSoup
########################################################
#
#              抓取csdn首页文章http://blog.csdn.net/?&page=1
#
#             参数baseUrl是要访问的网站地址
#
########################################################
class CsdnUtils(object):
    def __init__(self):
        user_agent='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'
        self.headers ={'Cache-Control':'max-age=0',
                        'Connection':'keep-alive',
                        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
                        'User-Agent':user_agent,
                        }
        self.contentAll=set()
    def getPage(self,url=None):
        request=urllib.request.Request(url,headers=self.headers)
        response=urllib.request.urlopen(request)
        soup=BeautifulSoup(response.read(),"html.parser")
        #print(soup.prettify())
        return soup
    def parsePage(self,url=None,page_num=None):
        soup=self.getPage(url)
        itemBlog=soup.find_all('dl','blog_list clearfix')
        cnArticle=CsdnUtils
        print("========================第",page_num,"页======================================")
        for i,itemSingle in enumerate(itemBlog):
            cnArticle.num=i
            cnArticle.author=itemSingle.find('a','nickname').string
            cnArticle.postTime=itemSingle.find('label').string
            cnArticle.articleView=itemSingle.find('em').string
            cnArticle.title=itemSingle.find('h3',"tracking-ad").string
            cnArticle.url=itemSingle.find("h3").find("a").get("href")
            print("数据:",cnArticle.num+1,'\t',cnArticle.author,'\t',cnArticle.postTime,'\t',cnArticle.articleView,'\t',cnArticle.title,'\t',cnArticle.url)
#######     执行    ########
if __name__ =="__main__":
    #要抓取的网页地址'http://blog.csdn.net/?&page={}'.format(i+1),i+1)
    url = "http://blog.csdn.net"
    cnblog=CsdnUtils()
    for i in range(0,2):
        cnblog.parsePage(url,i+1)
5、执行结果:  
Python实现抓取CSDN博客首页文章列表的更多相关文章
- Python爬虫抓取csdn博客
		昨天晚上为了下载保存某位csdn大牛的所有博文,写了一个爬虫来自己主动抓取文章并保存到txt文本,当然也能够 保存到html网页中. 这样就能够不用Ctrl+C 和Ctrl+V了,很方便.抓取别的站点 ... 
- 【Android 我的博客APP】1.抓取博客首页文章列表内容——网页数据抓取
		打算做个自己在博客园的博客APP,首先要能访问首页获取数据获取首页的文章列表,第一步抓取博客首页文章列表内容的功能已实现,在小米2S上的效果图如下: 思路是:通过编写的工具类访问网页,获取页面源代码, ... 
- 第 3 篇:实现博客首页文章列表 API
		作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 此前在讨论基于模板引擎的开发方式和 django-rest-framework 开发 ... 
- Hello Python!用 Python 写一个抓取 CSDN 博客文章的简单爬虫
		网络上一提到 Python,总会有一些不知道是黑还是粉的人大喊着:Python 是世界上最好的语言.最近利用业余时间体验了下 Python 语言,并写了个爬虫爬取我 csdn 上关注的几个大神的博客, ... 
- 利用Python抓取CSDN博客
		这两天发现了一篇好文章,陈皓写的makefile的教程,具体地址在这里<跟我一起写makefile> 这篇文章一共分成了14个部分,我看东西又习惯在kindle上面看,感觉一篇一篇地复制成 ... 
- python抓取51CTO博客的推荐博客的全部博文,对标题分词存入mongodb中
		原文地址: python抓取51CTO博客的推荐博客的全部博文,对标题分词存入mongodb中 
- Python爬虫简单实现CSDN博客文章标题列表
		Python爬虫简单实现CSDN博客文章标题列表 操作步骤: 分析接口,怎么获取数据? 模拟接口,尝试提取数据 封装接口函数,实现函数调用. 1.分析接口 打开Chrome浏览器,开启开发者工具(F1 ... 
- 巨高兴,偶的文章 “如何在服务器上配置ODBC来访问本机DB2for Windows服务器”被推荐至CSDN博客首页
		非常高兴,偶的文章 "如何在服务器上配置ODBC来访问本机DB2for Windows服务器"被推荐至CSDN博客首页,截图留念. 文章被推荐在C ... 
- python环境变量配置 - CSDN博客
		一.下载: 1.官网下载python3.0系列(https://www.python.org/) 2.下载后图标为: 二.安装: Window下: 1.安装路径: 默认安装路径:C:\python35 ... 
随机推荐
- [Algorithm]排序
			一.排序算法 1.插入排序 1) 直接插入排序:(插入类) 1 void InsertSort( ElemType R[], int n ) 2 { 3 for ( int i = 2; i < ... 
- django中如何建立抽象型数据库作为父模块可继承其功能
			先建立抽象数据库 from django.db import models class BaseModel(models.Model): """为模型类补充字段" ... 
- 【BZOJ1053】[HAOI2007]反素数 (搜索+数论)
			\([POI2002][HAOI2007]\)反素数 题目描述 对于任何正整数x,其约数的个数记作\(g(x)\).例如\(g(1)=1.g(6)=4\). 如果某个正整数x满足:\(g(x)> ... 
- VS2013过期激活
			然后点击"更改我的产品许可证",输入密钥 : BWG7X-J98B3-W34RT-33B3R-JVYW9 即可注册成功... 
- 最小生成树 & 洛谷P3366【模板】最小生成树 & 洛谷P2820 局域网
			嗯... 理解生成树的概念: 在一幅图中将所有n个点连接起来的n-1条边所形成的树. 最小生成树: 边权之和最小的生成树. 最小瓶颈生成树: 对于带权图,最大权值最小的生成树. 如何操作? 1.Pri ... 
- 【转】Caused by: Action class [com.struts.action.xxxAction] not found 解决方法
			刚学习Struts,自己写了个简单程序,一启动tomcat就报错,但是我按着ctrl点击struts.xml中com.struts.action.LoginAction也能定位到LoginAction ... 
- JDK原生的HttpURLConnection请求实例
			不想说啥,上代码! package com.my.https; import java.io.BufferedReader; import java.io.IOException; import ja ... 
- LeetCode10. 正则表达式匹配
			10. 正则表达式匹配 描述 给定一个字符串 (s) 和一个字符模式 (p).实现支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符. '*' 匹配零个或多个前面的元素. 匹配应该 ... 
- 应大数据时代而写了个磁力搜索的网页- WWW.MOVIH.COM 磁力
			应大数据时代而写了个磁力搜索的网页- 索马里搜索磁力 http://www.,movih.com/ BT磁力示例网站:WWW.MOVIH.COM 采用分布式架构: JAVA系统:JBOSS7+EJB3 ... 
- (找到最大的整数k使得n! % s^k ==0) (求n!在b进制下末尾0的个数) (区间满足个数)
			题目:https://codeforces.com/contest/1114/problem/C 将b分解为若干素数乘积,记录每个素数含多少次方 b = p1^y1·p2^y2·...·pm^ym. ... 
