美文网首页
爬虫学习笔记(一)

爬虫学习笔记(一)

作者: 统计学徒 | 来源:发表于2018-11-15 17:54 被阅读0次

    (对学习过程中的一些资料进行整理归类和分析)
    学习爬虫主要分3大部分:抓取,分析,存储。主要模型基础可以参考HTTP提要中的说明。

    • 抓取

    抓取数据是爬虫的关键,你要明确要得到的内容是什么?是HTML源码,还是Json格式的字符串等。特别对于一些具有“防御性”的情况,比如说网站需要登陆、挂代理访问、限制访问频率或者输入验证码的情况,都需要考虑到。(来源

    Python有自带的urllib库(参考1,参考2)可以实现抓取功能(Python3.x已经将urllib和urllib2两个库整合成了urllib一个库);还可以安装requests参考)包实现类似功能。

    1.最基础的情况

    抓取网页最基本信息,如下面代码所示。
    Python3 代码:

    import urllib.request as reqt
    
    # 链接
    url = "http://www.baidu.com"
    # 请求
    request = reqt.Request(url)
    # 响应
    response = reqt.urlopen(request)
    data = response.read()
    # 解码
    data = data.decode('utf-8')
    
    #### 显示信息 ####
    print(data)
    
    print(type(response))
    print(response.geturl())
    print(response.info())
    print(response.getcode())
    

    宁哥的小站:网易新闻排行榜抓取
    url的构成参考: HTTP提要

    2.伪装浏览器

    对于一些需要登录的网站,如果不是从浏览器发出的请求,则得不到响应。所以,我们需要将爬虫程序发出的请求伪装成浏览器。(实例参考 来源:伪装浏览器
    其中的报头中的userAgent部分:

    image.png
    可以通过例子中的方法得到,也可以使用下面简单的方法得到(我自己用的是下面的第一种方法):
    image.png

    也可以通过导入python中专门的模块得到,或者自己从网上搜常用的userAgent,构建一个userAgent资源池,然后随机从中抽取也行。

    其他反爬虫情况的处理(Python网络爬虫入门之精华版-3.对于反爬虫机制的处理):

    image.png

    3.登陆情况的处理

    抓取大多数情况属于get请求,即直接从对方服务器上获取数据。对于登陆情况,则有些不同,需要做相应的处理。

    image.png
    宁哥的小站:网络爬虫-验证码登陆

    4.爬取图片

    实现了简单网页的抓取以及浏览器的伪装,接着,可以实现对豆瓣首页所有图片进行爬取,把图片保存到本地一个路径下。(参考1:爬取豆瓣首页图片参考2:爬取你想要的图片 )对于第二个参考2,可以在文件操作的部分参照参考1做点修改:

    image.png
    这里如果没有事先新建文件夹,会出现错误。如果参照参考1:
    image.png
    导入os模块,对当前路径有效性进行检测,如果没有就创建一个目标路径,可以避免前面所说的情况。修改为:
    image.png
    image.png

    相关文章

      网友评论

          本文标题:爬虫学习笔记(一)

          本文链接:https://www.haomeiwen.com/subject/fzwyfqtx.html