zoukankan      html  css  js  c++  java
  • Python语言开发《简单网络爬虫实现》

    一、【基本专业术语】
    网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。其目的一般为编纂网络索引。

    网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
    网络爬虫可以将自己所访问的页面保存下来,以便搜索引擎事后生成索引供用户搜索。

    【一般有两个步骤】:1.获取网页内容 2.对获得的网页内容进行处理

    准备
    Linux开发环境,python3.61安装方法请参考百度

    安装一些必要的第三方库
    其中requiests可以用来爬取网页内容,beautifulsoup4用来将爬取的网页内容分析处理
    pip3 install requiests
    pip3 install beautifulsoup4

    二、【爬起】
    使用request库中的get方法,请求url的网页内容

    三、【编写代码】
    [root@localhost demo]# touch demo.py
    [root@localhost demo]# vim demo.py

    #web爬虫学习 – 分析
    #输入:url
    #处理:request库函数获取页面信息,并将网页内容转换成为人能看懂的编码格式
    #输出:爬取到的内容

    import requests
    def getHTMLText(url):
    try:
    r = requests.get( url, timeout=30 )
    r.raise_for_status() #如果状态码不是200,产生异常
    r.encoding = ‘utf-8’ #字符编码格式改成 utf-8
    return r.text
    except:
    #异常处理
    return " error "

    url = “http://www.baidu.com”
    print( getHTMLText(url) )

    四、【运行效果如下】:
    [root@localhost demo]# python3 demo.py

  • 相关阅读:
    【转载】搜索题目推荐
    HDU 4629 Burning 几何 + 扫描线
    HDU 4630 No Pain No Game 树状数组+离线查询
    SPOJ 416 Divisibility by 15 细节题
    【转载】树状数组题目
    SPOJ 274 Johnny and the Watermelon Plantation(TLE)
    SPOJ 227 Ordering the Soldiers 线段树 / 树状数组
    HDU 4620 Fruit Ninja Extreme 搜索
    Java序列化与反序列化
    Java IO包装流如何关闭?
  • 原文地址:https://www.cnblogs.com/chinasirius/p/12721197.html
Copyright © 2011-2022 走看看