如何用Python爬虫获取那些价值博文

作者&投稿:申哑 (若有异议请与网页底部的电邮联系)
~
本篇文章的内容是如何用Python爬虫获取那些价值博文,现在分享给大家,有需要的朋友可以参考一下这篇文章地的内容


作者 CDA数据分析师


在CSDN上有很多精彩的技术博客文章,我们可以把它爬取下来,保存在本地磁盘,可以很方便以后阅读和学习,现在我们就用python编写一段爬虫代码,来实现这个目的。


我们想要做的事情:自动读取博客文章,记录标题,把心仪的文章保存到个人电脑硬盘里供以后学习参考。


过程大体分为以下几步:


1. 找到爬取的目标网址;
2. 分析网页,找到自已想要保存的信息,这里我们主要保存是博客的文章内容;
3. 清洗整理爬取下来的信息,保存在本地磁盘。


打开csdn的网页,作为一个示例,我们随机打开一个网页:
http://blog.csdn.net/u013088062/article/list/1。


可以看到,博主对《C++卷积神经网络》和其它有关机计算机方面的文章都写得不错。



爬虫代码按思路分为三个类(class),下面3个带“#”的分别给出了每一个类的开头(具体代码附后,供大家实际运行实现):



采用“类(class)”的方式属于Python的面向对象编程,在某些时候比我们通常使用的面向过程的编程方便,在大型工程中经常使用面向对象编程。对于初学者来说,面向对象编程不易掌握,但是经过学习习惯之后,会逐步慢慢从面向过程到面向对象编程过渡。


特别注意的是,RePage类主要用正则表达式处理从网页中获取的信息,正则表达式设置字符串样式如下:



用正则表达式去匹配所要爬取的内容,用Python和其它软件工具都可以实现。正则表达式有许多规则,各个软件使用起来大同小异。用好正则表达式是爬虫和文本挖掘的一个重要内容。


SaveText类则是把信息保存在本地,效果如下:



用python编写爬虫代码,简洁高效。这篇文章仅从爬虫最基本的用法做了讲解,有兴趣的朋友可以下载代码看看,希望大家从中有收获。

附相关Python代码:


1#-*-coding:UTF-8-*-
2import re
3import urllib2
4import sys
5#目的:读取博客文章,记录标题,用Htnl格式保存存文章内容
6#版本:python2.7.13
7#功能:读取网页内容
8class GetHtmlPage():
9 #注意大小写
10 def __init__(self,strPage):
11 self.strPapge = strPage
12 #获取网页
13 def GetPage(self):
14 req = urllib2.Request(self.strPapge) # 建立页面请求
15 rep = req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0")
16 try:
17 cn = urllib2.urlopen(req) #网页请求
18 page = cn.read() #读网页
19 uPage = page.decode("utf-8") #网页编码
20 cn.close()
21 return uPage
22 except urllib2.URLError, e: #捕获异常
23 print 'URLError:', e.code
24 return
25 except urllib2.HTTPError, e: #捕获异常
26 print 'HTTP Error:' + e.reason
27 return
28 return rePage
29#正则表达式,获取想要的内容
30class RePage():
31#正则表达式提取内容,返回链表
32 def GetReText(self,page,recode):
33 rePage = re.findall(recode,page,re.S)
34 return rePage
35#保存文本
36class SaveText():
37 def Save(self,text,tilte):
38 try:
39 t="blog\\"+tilte+".html"
40 f = file(t,"a")
41 f.write(text)
42 f.close()
43 except IOError,e:
44 print e.message
45if __name__ == "__main__":
46 s = SaveText()
47 #文件编码
48 #字符正确解码
49 reload(sys)
50 sys.setdefaultencoding( "utf-8" ) #获得系统的默认编码
51 #获取网页
52 page = GetHtmlPage("http://blog.csdn.net/u013088062/article/list/1")
53 htmlPage = page.GetPage()
54 #提取内容
55 reServer = RePage()
56 reBlog = reServer.GetReText(htmlPage,r'.*?(\s.+?)') #获取网址链接和标题
57 #再向下获取正文
58 for ref in reBlog:
59 pageHeard = "http://blog.csdn.net/" #加链接头
60 strPage = pageHeard+ref[0]
61 tilte=ref[1].replace('[置顶]', "") #用替换的功能去除杂的英文
62 tilte=tilte.replace("
","").lstrip().rstrip()
63 #获取正文
64 htmlPage = GetHtmlPage(strPage)
65 htmlPageData = htmlPage.GetPage()
66 reBlogText = reServer.GetReText(htmlPageData,'
(.+?)
')
67 #保存文件
68 for s1 in reBlogText:
69 s1='
'+s1
70 s.Save(s1,tilte)

相关推荐:

php实现简单爬虫的开发案例
Python爬虫浏览器标识库
记录一次简单的Python爬虫实例


python爬虫有什么用
python爬虫即网络爬虫,网络爬虫是一种程序,主要用于搜索引擎,它将一个网站的所有内容与链接进行阅读,并建立相关的全文索引到数据库中,然后跳到另一个网站。python爬虫的作用有:1、python爬虫可以按照规则去进行抓取网站上的有价值的信息;2、可以使用python爬虫去抓取信息并且下载到本地。拓展:爬虫分类...

爬虫python是干嘛用的
该功能用于自动地从互联网上抓取信息。该功能是一种使用Python编写的程序,用于自动地从互联网上抓取信息。它按照一定的规则,访问网页并提取所需的数据。该功能可以用于多种用途,包括但不限于以下几个方面:1、数据收集:该功能可以帮助我们从网页中获取大量的数据。通过编写该功能程序,可以自动化地收集...

python爬虫有什么用
python爬虫的作用包括但不限于网络数据采集、大数据分析、网页分析等。爬虫被广泛用于互联网搜索引擎或其他类似网站,以获取或更新这些网站的内容和检索方式。它们可以自动采集所有其能够访问到的页面内容,以便程序做下一步的处理。网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些...

Python 网络爬虫与数据采集
VPS应对IP封锁:使用ADSL拨号,动态更换IP 频率控制:定时或间隔请求,模拟登录绕过限制 权限管理:注册账户,使用cookie登录 验证码:神经网络识别或人工介入,借助打码平台 动态页面:Selenium监控结构变化 Robots协议:遵循网站规则,如禁止爬取私密内容 5. 技术工具和库的运用 Python库:urllib3、requests(基础HTTP库),lxml(高效...

python爬虫有什么用
Python爬虫是Python应用的一个方向,通过爬虫可以爬取数据,收集数据,也可以对抓取回来的数据进行分析和挖掘,从而获得更有意义的资源。网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。传统爬虫从一个或若干初始网页的URL...

如何使用python爬取csdn博客访问量
一、网址分析进入自己的博客页面,网址为:http:\/\/blog.csdn.net\/xingjiarong 网址还是非常清晰的就是csdn的网址+个人csdn登录账号,我们来看一下下一页的网址。看到第二页的地址为:http:\/\/blog.csdn.net\/xingjiarong\/article\/list\/2 后边的数字表示现在正处于第几页,再用其他的页面验证一下,确实...

Python是什么?它有何用途?
爬虫是搜索引擎的第一步也是最容易的一步。用什么语言写爬虫?C,C++。高效率,快速,适合通用搜索引擎做全网爬取。缺点,开发慢,写起来又臭又长,例如:天网搜索源代码。脚本语言:Perl, Python, Java, Ruby。简单,易学,良好的文本处理能方便网页内容的细致提取,但效率往往不高,适合对少量网站的...

python爬虫通俗点讲是什么
其实通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据。爬虫可以做什么?你可以用爬虫爬图片,爬取视频等等你想要爬取的数据,只要你能通过浏览器访问的数据都可以通过爬虫获取。爬虫的本质是什么?模拟浏览器打开网页,获取网页中我们想要的那部分数据浏览器打开网页的过程:当你在...

爬虫python是什么意思?
爬虫Python是一种使用Python语言编写的网络爬虫程序。它通过对网站页面进行自动化访问和解析,获取所需的数据。爬虫可以帮助我们快速地搜集和分析大量的数据,它被广泛应用于搜索引擎、电商网站、社交媒体等领域。Python语言的简洁性和优雅性使其成为Python爬虫的首选语言。Python爬虫的使用非常灵活,可以根据不同...

如何用Python做爬虫
好的,理论上如果所有的页面可以从initial page达到的话,那么可以证明你一定可以爬完所有的网页。那么在python里怎么实现呢?很简单 import Queue initial_page = "初始化页"url_queue = Queue.Queue()seen = set()seen.insert(initial_page)url_queue.put(initial_page)while(True): #一直进行直到...

大兴区13791042894: python爬虫怎么抓取value的值 -
文京参芍: 问题描述的太模糊了,一般库会有text()方法或者text属性来获取value,也有attr('value')这种形式,要看具体情况.

大兴区13791042894: python爬虫怎样赚外快 -
文京参芍: Python爬虫是大家都比较感兴趣的一个应用领域,对于很多人来说可能专业从事爬虫觉得不太好,但是却又想要通过爬虫挣点钱,小编告诉大家这几种方法,让你轻松发挥自己的Python技能.Python爬虫如何赚钱?可以通过以下三种方法:1、...

大兴区13791042894: 如何自学Python爬虫技术,花式赚钱 -
文京参芍: Python语言这两年是越来越火了,它渐渐崛起也是有缘由的. 比如市场需求、入门简单易学、支持多种语言……当然这些都是很官方的. 说白了,就是 写个web服务,可以用python; 写个服务器脚本,可以用python; 写个桌面客户端,可以用...

大兴区13791042894: Python中怎么用爬虫爬 -
文京参芍: Python爬虫可以爬取的东西有很多,Python爬虫怎么学?简单的分析下: 如果你仔细观察,就不难发现,懂爬虫、学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样的编程语言提供越来越多的优秀工...

大兴区13791042894: python爬虫怎么赚钱 知乎 -
文京参芍: 学习基本的爬虫工作原理 基本的http抓取工具,scrapy bloom filter: bloom filters by example 如果需要大规模网页抓取,你需要学习分布式爬虫的概念.其实没那么玄乎,你只要学会怎样维护一个所有集群机器能够有效分享的分布式队列就好.最简单的实现是python-rq: https://github.com/nvie/rq rq和scrapy的结合:darkrho/scrapy-redis · github 后续处理,网页析取(grangier/python-goose · github),存储(mongodb)

大兴区13791042894: python 写爬虫 抓取什么值得买信息 -
文京参芍: 爬虫可以抓取网络上的数据埃爬虫可以用很多种编程语言实现,python只是一种.所以你想知道的是网络爬虫可以干什么. 他比如证券交易数据,天气数据,网站用户数据,图片. 拿到这些数据之后你就可以做下一步工作了. 你去看看这里就明白了.http...

大兴区13791042894: 如何用python爬虫抓取价格计算器的数据 -
文京参芍: 例如,以下两行代码是等价的: print "hello world!" print "hello world!"; 第1行代码的输出结果: hello world! 第2行代码的输出结果: hello world!

大兴区13791042894: 请教Python爬虫:如果想用Python爬下面网页的价格,请问应该怎样做? -
文京参芍: 用爬虫跟踪下一页的方法是自己模拟点击下一页连接,然后发出新的请求;参考例子如下:item1 = Item() yield item1 item2 = Item() yield item2 req = Request(url='下一页的链接', callback=self.parse) yield req 注意:使用yield时不要用return语句.

大兴区13791042894: 请教Python爬虫:如果想用Python爬下面网页的价格,请问要怎样做? -
文京参芍: 这个网页直接访问不行,需要请求的时候添加cookie,然后再xpath或者css解析出价格就好了

大兴区13791042894: 如何利用python爬取网页数据 -
文京参芍: 推荐:《pyspider 爬虫教程(二):AJAX 和 HTTP》——足兆叉虫 由于 AJAX 实际上也是通过 HTTP 传输数据的,所以我们可以通过 Chrome Developer Tools 找到真实的请求,直接发起真实请求的抓取就可以获得数据了. AJAX 一般是通过 XMLHttpRequest 对象接口发送请求的,XMLHttpRequest 一般被缩写为 XHR.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网