码迷,mamicode.com
首页 > 编程语言 > 详细

爬虫系列(2)-----python爬取CSDN博客首页所有文章

时间:2018-04-06 16:40:28      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:分享   wow   get   style   color   ror   code   retrieve   addheader   

对于Python初学者来说,爬虫技能是应该是最好入门,也是最能够有让自己有成就感的,今天在整理代码时,整理了一下之前自己学习爬虫的一些代码,今天上第2个简单的例子,python爬取CSDN博客首页所有文章。废话不多说,直接上代码讲解。

step1:打开需要爬取的网站:https://blog.csdn.net/

技术分享图片

step2:查看源代码

找到我们要爬取的每一篇文章的链接在源代码中的具体位置,鼠标选择页面邮件,点击查看页面源代码即可,打开的页面如下图所示:

技术分享图片

然后我们怎么才可以找到我要爬取的文章的链接呢,很容易,按住ctrl+F键进行搜索,随便搜索一篇文章,比如就搜索首页中的一篇名为“时间序列相关算法与分析步骤”的文章,然后快速定位出标题的位置,如下所示:

技术分享图片

然后通过观察,我们发现href="http://blog.csdn.net/qq_33414271/article/details/79588126"对应的信息就是该文章的网址,这样就好办了,就用简单的正则匹配就可以了,下面开始进行爬取啦。

step3:代码很短,就直接上代码了啊!

import urllib.request
import re

url=https://blog.csdn.net/
#模拟浏览器
headers=("user-agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 BIDUBrowser/8.7 Safari/537.36")
opener=urllib.request.build_opener()
opener.addheaders=[headers]#添加报头
urllib.request.install_opener(opener)#设置opner全局化
#获取网页信息
data=urllib.request.urlopen(url).read().decode(utf-8)
#设置正则
pat=<a strategy=.*?href="(.*?)" target="_blank">
#匹配正则
res=re.compile(pat).findall(data)
#保存数据
for i in range(len(res)):
    try:
        file="F:/csdn/"+str(i+1)+.html
        urllib.request.urlretrieve(res[i],file)
        print(+str(i+1)+篇文章爬取成功!)
    except urllib.error.URLError as e:
        if hasattr(e,"code"):
            print(e.code)
        if hasattr(e,"reason"):
            print(e.reason)

爬取的结果如下:

技术分享图片

 

爬虫系列(2)-----python爬取CSDN博客首页所有文章

标签:分享   wow   get   style   color   ror   code   retrieve   addheader   

原文地址:https://www.cnblogs.com/PiPifamily/p/8727991.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!