• 【Python3 爬虫】13_爬取博客园首页所有文章


    首先,我们确定博客园首页地址为:https://www.cnblogs.com/

    我们打开可以看到有各种各样的文章在首页,如下图:

    image

    我们以上图标记的文章为例子吧!打开网页源码,搜索Docker,搜索结果如下图:

    2018-04-22_092757

    从上图后红色标记部分可以看出,我们使用正则表达式即可匹配该网址,我们匹配到该网址之后,将该网址对应的内容下载到到底进行存储。

    实现代码

    import urllib.request
    import re 
    """
    爬取cnblogs首页所有的文章
    """
    url = "http://www.cnblogs.com/"
    headers = ("User_Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0")
    opener = urllib.request.build_opener()
    opener.addheaders = [headers]
    urllib.request.install_opener(opener)
    data = urllib.request.urlopen(url).read().decode("utf-8","ignore")
    #此处的(.*?)是匹配href后所有内容,直到”结束
    rule = '<h3><a class="titlelnk" href="(.*?)"'
    result = re.compile(rule).findall(data)
    for i in range(0,len(result)):
        file = "D:/source/"+str(i)+".html"
        urllib.request.urlretrieve(result[i],filename=file)
        print(""+str(i+1)+"次成功")

    运行结果:

    第1次成功
    第2次成功
    第3次成功
    第4次成功
    第5次成功
    第6次成功
    第7次成功
    第8次成功
    第9次成功
    第10次成功
    第11次成功
    第12次成功
    第13次成功
    第14次成功
    第15次成功
    第16次成功
    第17次成功
    第18次成功
    第19次成功
    第20次成功
    [Finished in 9.3s]

    爬取完成后,我们可以在相应路径下看到爬取后的内容

    image

  • 相关阅读:
    用标签替换的方法生成静态网页
    SQL Server 索引结构及其使用(三、四)(转载)
    SQL server 2000异地备份
    GridView加自动编号列
    SQL Server 索引结构及其使用(一、二)(转载)
    DropDownTreeList
    SQL函数——将一对多关系转换成一对一关系
    动态sql语句基本语法
    kalilinux MSF数据库的连接
    Linux sudo权限绕过(CVE201914287)
  • 原文地址:https://www.cnblogs.com/OliverQin/p/8905824.html
Copyright © 2020-2023  润新知