本博文依旧是在Linux下的Ubuntu环境下运行的
作为菜鸟我建议是不要用正则来匹配你想要的内容了,还是乖乖的去使用beautifulsoup吧
作为使用Python这门语言,一个好的编译器是你成功的一半,开始的时候我是使用的是Python的默认环境IDLE
d
但是后来,我是结合着pycharm来使用:
好了,编译环境准备就绪,我们终于可以愉快的写代码了
首先我们要知道爬虫的原理,见下图
解释一下上面的图的意思:
爬虫入口:就是你需要在什么的地方开始获取网页(url)
存储数据:如果你爬去的的内容有你需要的,你需要存储下来
再到资料所在的地址:如果这个网页没有你需要的资料或者是数据,但是有前往该数据页面的URL,那么则获取这个url,再获取这个url的页面内容。
以上就是爬虫的简单的原理,但是当以后如果你要是深入学习的话,你利用框架的话,还有比这个复杂的原理你需要理解和掌握,求学路上有好多的坎坷,我们要的是忍耐,本人也是小白一枚,希望能给大家带来更多有用的地方。好了,废话不说,见代码》回到正题。
下面你看到的这个就是我们要爬去的网站,请各位兄台不要觉得我是个坏人,我只是在激发大家的学习兴趣。嘿嘿
ps:有些模块,大家需要提前下载好,这里我就不多说了。
>>>import requests ##到入requests
>>>import os
>>>from bs4 import BeautifulSoup ###导入bs4里的BeautifulSoup
下一步:
>>>hesders={'User-Agent':" Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.100 Safari/537.36 "} ###这块的内容是浏览器的请求头,因为如果没有这个的话,你所访问的网址会认为你是坏人,这样做的目的是让你的目标默认为你是浏览器,还有就是这块的内容里面的细则还是需要大家好好地研究一下你们的浏览器的特殊功能,我就不细说了/
>>>start_url='http://www.mzitu.com/all' ###开始的URL
>>>start_html=requests.get(start_url,headers=headers) ###这里是通过requests的get来获取start_url的内容 详细的说明请参考requests的官方文档
剩下的就剩下解析了,这里我们用到的是BeautifulSoup
直接见代码:
>>>Soup=BeautifulSoup(start_html.text,'lxml') 这里我们用到是‘lxml’
特别的强调一下,BeautifulSoup 是很好用的
补充一下:这里你需要的是提前就将这些模块安装好,这个库与众不同的是它兼顾了这些库的完整性和速度,以及Python API的简介性
安装lxml 你可以使用的是easy_install工具
easy_install lxml
继续:
>>>a_all=Soup.find_all('div',class_='all').find_all('a') #这里我们用到的是网页里面的一个简单的工具我们在寻找里面的网页标签
>>>for a in aii_a:
title=
href=a['href']
print title
print href
这样的话我们就可以很详细的将你需要的网页里面的URL就可以爬出来了