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:\lgz\articles.txt","w")as file:   #在磁盘以只写的方式打开/创建一个名为 articles 的txt文件  
   for title in titles:
     file.write(title.string+'\n')
     file.write("http://www.jianshu.com"+title.get('href')+'\\n\n')

 

 

4.爬虫结果

 
 
posted @ 2018-03-19 22:32  筱筱的春天  阅读(272)  评论(0编辑  收藏  举报