blackhole 带你抓妹纸哦
来源:互联网 发布:星野扒皮知乎 编辑:程序博客网 时间:2024/05/03 01:22
本博文依旧是在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就可以爬出来了
- blackhole 带你抓妹纸哦
- 带你**带你飞
- MySQL的BlackHole引擎
- Mysql blackhole(黑洞引擎)
- 【MySql】 BlackHole :黑洞引擎
- BlackHole :黑洞引擎
- 【MySql】 BlackHole :黑洞引擎
- MySql BlackHole存储引擎
- 【MySql】 BlackHole :黑洞引擎
- 【MySql】 BlackHole :黑洞引擎
- 带你学C带你飞
- MySQL BlackHole 存储引擎使用
- MySQL 的blackhole存储引擎
- 带你进入JSF
- 带你了解ShotCode
- 带你了解FLEX
- Mayuyu带你学虚基类
- 带你了解BOM
- 华为研发工程师编程题-- 明明的随机数
- 2016noipPJ总结(弄ip)
- html5网页中用video标签无法播放MP4视频的解决方法
- HDU 2647 Reward (拓扑排序)
- JVM
- blackhole 带你抓妹纸哦
- 实例讲解java局部变量(包括形参)全局变量,对象应用在堆栈中的运行机制
- Linux调度IO模型
- VIS(Vegetation-Impervious surface-Soil)模型
- concurrenthashmap
- opencv最小包络矩形
- python 堆和优先队列的使用
- leetcode_[python/C++]_121/122/123/188.Best Time to Buy and Sell Stock I/II/III/IV
- Hadoop系列之(一)CentOS7安装配置及SSH无密码验证配置