首页 > 代码库 > Python 2.7_爬取CSDN单页面利用正则提取博客文章及url_20170113
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://www.mamicode.com/(http://blog.csdn.net/pleasecallmewhy/article/details/.*?)" target="_blank">(.*?)</a>‘ #利用正则findall(正则表达式rs,查找的范围) 现在及findall(rs,html)找到所有符合条件的元素并返回一个列表titlelist titlelist=re.findall(rs,html) #因为正则表达式是有2个分组 一个是文章url(‘href=http://www.mamicode.com/‘以后括号的内容),一个是文章标题 这两个内容在titlelist里面是以元组形式构成的>
Python 2.7_爬取CSDN单页面利用正则提取博客文章及url_20170113
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。