python爬虫_入门

Posted 咻_python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫_入门相关的知识,希望对你有一定的参考价值。

本来觉得没什么可写的,因为网上这玩意一搜一大把,不过爬虫毕竟是python的一个大亮点,不说说感觉对不起这玩意
基础点来说,python2写爬虫重点需要两个模块,urllib和urllib2,其实还有re
先介绍下模块的一些常用功能
urllib.urlopen(\'http://xxx.xxx.xxx\') #打开一个网址,只是打开,和open差不多
urllib2.Request(url) #解析网址,这个可以省略,具体不是很懂,一些功能,比如加head头什么的也需要使用这个
urllib.urlretrieve(url,filename) #下载用,把url提供的东西down下来,并用filename保存
举个蜂鸟爬图片的例子,下面上伪代码:

1、url解析
2、打开url
3、读取url,就是read()
4、使用re.findall找到所有和图片有关系的地址,这里只jpg
5、循环下载

看图上,图片链接格式是src="http://index_url/page_num/image_name.jpg?XXXXXXX",那么如果需要下载的话一定是需要红圈部分,也就是http://index_url/page_num/image_name.jpg
分析之后后面的事就好办了,下面上代码

import urllib
import urllib2
import re

#处理地址,并获取页面全部的图片地址
def get_image_url(url):
  #url_format = urllib2.Request(url) #1
  url_open = urllib.urlopen(url) #2
  url_read = url_open.read() #3
  re_value = re.compile(\'(?<=src\\=\\").*?\\.jpg\')
  image_url_list = re.findall(re_value,url_read) #4
  return image_url_list

#这个函数专门用来下载,前面两行是将图片连接中/前面的内容全部删除,留下后面的文件名用来保存文件的,try不说了,不清楚请翻回去看容错
def down_image(image_url):
  rev = \'^.*/\'
  file_name = re.sub(rev,\'\',image_url)
  try:
    urllib.urlretrieve(image_url,file_name)
  except:
    print \'download %s fail\' %image_url
  else:
    print \'download %s successed\' %image_url

if __name__ == \'__main__\':
  url = \'http://bbs.fengniao.com/forum/10384633.html\'
  image_url_list = get_image_url(url)
  for image_url in image_url_list:
    down_image(image_url) #5

困死,睡觉去。。。。。有时间再说说翻页什么的,就能爬网站了

 

以上是关于python爬虫_入门的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫_入门_翻页

python爬虫_入门

网络爬虫技术入门_Python基础与爬虫技术

scrapy按顺序启动多个爬虫代码片段(python3)

python爬虫入门---第三篇:自动下载图片

Python爬虫Scrapy_入门案例