• Python: 爬虫入门


    1.基本的爬虫工作原理

    ①)网络爬虫定义,又称Web Spider,网页蜘蛛,按照一定的规则,自动抓取网站信息的程序或者脚本。

           蜘蛛通过网页的链接地址来寻找网页,从网站某一个页面开始,读取网页的内容,找到网页中的其他链接地址,

           然后通过这些链接地址寻找下一个网页,直到把这个额昂展所有的网页都抓取完为止。

    ②)爬虫流程:

    ①urllib的request打开url带到网页的html文档

    ②浏览器打开网页源代码分析元素节点

    ③通过Beautiful Soup或者正则表达式提取想要的数据

    ④存储数据到本地磁盘或者数据库,进行数据分析

    2.环境、工具安装

    ①Python 3.6.4(官网下载安装),环境变量配置

    ②基本的http抓取工具 scrapy (安装命令pip install scrapy)

    ③bs4 (安装命令:pip install scrapy)

     

    3.爬虫脚本及注释(超简易)

      #urllib的request模块可以非常方便的抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应。

       from urllib import request        

              # BeautifulSoup是Python的一个库,最主要的功能是从网页爬取我们所需要的数据。

              # BeautifulSoup将html解析为对象进行处理,全部页面转变为字典或者数组,相对于正则表达式的方式,可以大大简化处理过程。

       from bs4 import BeautifulSoup   

       #构造头文件,模拟浏览器访问。

       url="http://www.jianshu.com"    #要爬的url

       headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}  

       page=request.Request(url,headers=headers)

       page_info=request.urlopen(page).read().decode('utf-8')        #打开url,获取HttpResponse返回对象并读取ResponseBody

       #将获取到response析成Beautiful soup格式,解析器为html.parser

       soup=BeautifulSoup(page_info,'html.parser')  

    ⑤  

        #查找所有a标签中class='title'的语句  

        titles=soup.find_all('a','title')      

       #open()是读写文件的函数,with语句会自动close()已打开文件

       with open(r"D:lgzarticles.txt","w")as file:   #在磁盘以只写的方式打开/创建一个名为 articles 的txt文件  
       for title in titles:
         file.write(title.string+' ')
         file.write("http://www.jianshu.com"+title.get('href')+'\n ')

    4.爬虫结果

     
     
  • 相关阅读:
    泛型类型转为DataTable类型
    FineUploader 学习笔记
    如何理解Python中的if __name__ == '__main__'
    什么是python 中的顶层代码?
    任务十三:零基础JavaScript编码(一)
    目前比较全的CSS重设(reset)方法总结(转)
    任务十二:学习CSS 3的新特性
    JS高级程序设计第三版——变量、作用域和内存问题
    任务十:Flexbox 布局练习
    任务九:使用HTML/CSS实现一个复杂页面
  • 原文地址:https://www.cnblogs.com/baxianhua/p/8605580.html
Copyright © 2020-2023  润新知