美文网首页虫虫
Python爬虫——网页数据抓取入门教学

Python爬虫——网页数据抓取入门教学

作者: MrAsh | 来源:发表于2019-01-02 20:56 被阅读122次

    简介


    1. 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者):
      是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。其实通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据。
    2. 爬虫可以做什么?
      你可以用爬虫爬图片,爬取视频等等你想要爬取的数据,只要你能通过浏览器访问的数据都可以通过爬虫获取。当你在浏览器中输入地址后,经过DNS服务器找到服务器主机,向服务器发送一个请求,服务器经过解析后发送给用户浏览器结果,包括html,js,css等文件内容,浏览器解析出来最后呈现给用户在浏览器上看到的结果
      所以用户看到的浏览器的结果就是由HTML代码构成的,我们爬虫就是为了获取这些内容,通过分析和过滤html代码,从中获取我们想要资源。

    页面获取

    1) 根据URL获取网页

    • URL处理模块(库)
      import urllib.request as req
    • 创建一个表示远程url的类文件对象
      req.urlopen(' ')
    • 如同本地文件一样读取内容
    import urllib.request as req
    # 根据URL获取网页:
    # http://www.hnpolice.com/
    url = 'http://www.hnpolice.com/'
    webpage = req.urlopen(url) # 按照类文件的方式打开网页
    # 读取网页的所有数据,并转换为uft-8编码
    data = webpage.read().decode('utf-8')
    print(data)
    

    2)网页数据存入文件

    # 将读取的网页数据写入文件:
    outfile = open("enrollnudt.txt", 'w') # 打开文件
    outfile.write(data) # 将网页数据写入文件
    outfile.close()
    

    此时我们从网页中获取的数据已保存在我们指定的文件里,如下图


    网页获取

    从图中可以看出,网页的所有数据都存到了本地,但是我们需要的数据大部分都是文字或者数字信息,而代码对我们来说并没有用处。那么我们接下来要做的是清除没用的数据。(在这里我将获取警院新闻中的内容)

    3)提取内容

    1. 分析网页,寻找所需要的内容“警院新闻”

    2. 内容范围

      • <li><a href="show.aspx?id=24797&cid=153" target="_blank"> ...</div>
    3. 如何将表格中的内容都提取出来?

      • 导入re包 (正规表达式包)
        import re
        re.findall (pattern, string [, flags] )
      • 以列表的形式返回string里匹配pattern的不重叠
        的子串
        • string会被从左到右依次扫描,返回的列表也是从左到右
          一次匹配到的
      • 如果pattern里含有组的话,那么会返回匹配到的
        组的列表


        正规表达式
    4. 匹配使用正规表达式
      '<li><a href="show.aspx?id=24797&amp;cid=153" target="_blank">(.*?)</div>'

    5. 数据清洗

    • 数据前后清洗x.strip()
    • 数据内部清洗x.replace('&nbsp; ', '')

    至此,所需的内容已经获取到本地,爬虫基本完成。

    相关文章

      网友评论

        本文标题:Python爬虫——网页数据抓取入门教学

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