Python 2.7_爬取CSDN单页面利用正则提取博客文章及url_20170113

年前有点忙,没来的及更博,最近看爬虫正则的部分 巩固下

1.爬取的单页面:http://blog.csdn.net/column/details/why-bug.html

2.过程 解析url获得网站源代码

3.找到文章标题列表和文章url(a标签下’href‘属性)组成列表

4.for循环取出

#解析用到的还是urlllib urllib2两个模块 并加了个header请求表头

代码及过程如下:

#coding:utf-8
import re
import urllib
import urllib2

rooturl=‘http://blog.csdn.net/column/details/why-bug.html‘
#urllib2.Request()方法 请求
req=urllib2.Request(rooturl)
req.add_header(‘User-Agent‘,‘Chrome‘)
req=urllib2.urlopen(req)
#req变量的read()方法获得源代码
html=req.read()
#分析文章标题和href属性
#标题和文章url都在a标签内 url格式为‘http://blog.csdn.net/pleasecallmewhy/article/details/(****)‘,标题在‘target="_blank">(****)</a>‘
#写正则表达式 利用()小括号将url和标题分组
rs=r‘<a href="(http://blog.csdn.net/pleasecallmewhy/article/details/.*?)" target="_blank">(.*?)</a>‘
#利用正则findall(正则表达式rs,查找的范围) 现在及findall(rs,html)找到所有符合条件的元素并返回一个列表titlelist
titlelist=re.findall(rs,html)
#因为正则表达式是有2个分组 一个是文章url(‘href=‘以后括号的内容),一个是文章标题 这两个内容在titlelist里面是以元组形式构成的
#列表的长度就是页面有多少篇博客文章
print ‘爬取完毕,一共%s篇文章‘ % len(titlelist)
#因为想实现打印出第几篇文章 文章标题 文章链接的效果 需要对titlelist进行遍历 用到的是列表list类的enumerate()方法 打印出列表索引和值
#第一个索引值为0 值为一个元组(文章url,文章标题) 这个元组又可以切片 因此取这个元组的第一个元素和第二个元素及实现效果
for i,j in enumerate(titlelist):
    #i为titlelist列表的索引 j为titlelist列表的值
    #取j的第一个元素j[0]即文章url 赋值给变量titurl 标题同样
    titleurl=j[0]
    titlename=j[1]
    #打印效果 用%格式化输出 titlelist索引值从0开始因此对i+1 代表第一篇文章
    print ‘第%s篇文章为:【%s】,链接:%s‘ %(i+1,titlename,titleurl)

    

 
时间: 2024-10-22 03:44:33

Python 2.7_爬取CSDN单页面利用正则提取博客文章及url_20170113的相关文章

[Python学习] 简单爬取CSDN下载资源信息

这是一篇Python爬取CSDN下载资源信息的例子,主要是通过urllib2获取CSDN某个人所有资源的资源URL.资源名称.下载次数.分数等信息:写这篇文章的原因是我想获取自己的资源所有的评论信息,但是由于评论采用JS临时加载,所以这篇文章先简单介绍如何人工分析HTML页面爬取信息. 源代码 # coding=utf-8 import urllib import time import re import os #****************************************

[python爬虫] Selenium爬取CSDN博客摘要及问题

本文主要是采用Selenium来爬取CSDN的博文摘要,为后面对CSDN的热点技术.近几年专家发表的博客作数据分析.由于采用BeautifulSoup爬取该网站会报错"HTTPError: Forbidden",所以作者采用Selenium爬取.同时,在爬取过程中遇到了局部动态更新的问题,无法定位换页的问题,作者采用Firebug进行分析,也希望读者提出更好的方法.代码下载地址: 一. CSDN博客网站分析及问题 本文主要爬取CSDN专家的博客,因为专家的论文水平相对高点,同时专栏较多

python爬虫实例——爬取歌单

学习自http://www.hzbook.com/index.php/Book/search.html 书名:从零开始学python网络爬虫 爬取酷狗歌单,保存入csv文件 直接上源代码:(含注释) import requests #用于请求网页获取网页数据 from bs4 import BeautifulSoup #解析网页数据 import time #time库中的sleep()方法可以让程序暂停 import csv ''' 爬虫测试 酷狗top500数据 写入csv文件 ''' fp

Python 2.7_爬取妹子图网站单页测试图片_20170114

1.url= http://www.mzitu.com/74100/x,2为1到23的值 2.用到模块 os 创建文件目录; re模块正则匹配目录名 图片下载地址; time模块 限制下载时间;requests模块获取网页源代码;urllib模块 urllib.urlretrieve(图片url,保存的带扩展名的文件名x.jpg)方法下载图片 3.知识点 文件目录处理  函数封装调用 全局变量 4.代码 #coding:utf-8 import os import re import reque

Python爬取CSDN专家博客系类——移动开发

文章分为两部分:爬取移动开发专家的姓名和博客首页地址,爬取每个专家的所有博客存放在已该专家名字命名的txt文件中 说明:本爬虫主要是采用BeautifulSoup和少量的正则匹配,在第一部分抓取完毕后需要将文件格式改为ANSI,代码如下: 第一部分: 第二部分: 结果如下图: 版权声明:本文为博主原创文章,未经博主允许不得转载.

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

因为老师要以班里每个人发的博客质量作为最后总成绩的评定的一部分,就要把班上所有同学发的博客都统计起来,可以用来评定的因素有:阅读.评论.推荐等,但因为今天只是做一个简单的爬取,推荐这个元素在班级博客中需要点开每一篇博文才能看到获取,就不爬取了,只爬取阅读和推荐,加上每篇博文的发布人和标题. 我先会放上代码,再逐条解释其含义及作用. 代码如下(其中爬取的网页是以我自己的班级为例): 1 from bs4 import BeautifulSoup 2 import pandas as pd 3 im

Python爬取CSDN博客文章

之前解析出问题,刚刚看到,这次仔细审查了 0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.windows下环境搭建 3.java里连接redis数据库 4.关于认证 5.redis高级功能总结1.基础底层数据结构1.1.简单动态字符串SDS定义: ...47分钟前1 url :http://blog.csdn.net/youyou1543724847/

使用python爬取csdn博客访问量

最近学习了python和爬虫,想写一个程序练练手,所以我就想到了大家都比较关心的自己的博客访问量,使用python来获取自己博客的访问量,这也是后边我将要进行的项目的一部分,后边我会对博客的访问量进行分析,以折线图和饼图等可视化的方式展示自己博客被访问的情况,使自己能更加清楚自己的哪些博客更受关注,博客专家请勿喷,因为我不是专家,我听他们说专家本身就有这个功能. 一.网址分析 进入自己的博客页面,网址为:http://blog.csdn.net/xingjiarong 网址还是非常清晰的就是cs

python爬虫爬取csdn博客专家所有博客内容

python爬虫爬取csdn博客专家所有博客内容: 全部过程采取自动识别与抓取,抓取结果是将一个博主的所有 文章存放在以其名字命名的文件内,代码如下 结果如下: 版权声明:本文为博主原创文章,未经博主允许不得转载.