Python爬虫入门

 

  还没有写完...待续...看不懂的可以等我视频出来~

   视频链接:http://www.bilibili.com/video/av11253964/

 

  参考大佬的博客:博客是Python社区的一位大佬写的,博客园死活不让我放链接,说违禁...不知道怎么回事,呵呵了....我偏要放,就算是图片,是吧大佬...

 HTTP的两种方法(一种是GET一种是POST):http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

 

 

  最简单的一个爬虫代码:

#!/usr/bin/python
#coding:utf-8
import urllib2 response = urllib2.urlopen('http://www.baidu.com/') html = response.read() print html

看看上面的代码,陌生吗?反正很少是吧?我来教你,很简单的

 

 

现在我们来加一个Request,来看看代码怎么样了

#!/usr/bin/python
#coding:utf-8
import urllib2    
req = urllib2.Request('http://www.cnblogs.com/yunquan/')   
response = urllib2.urlopen(req)    
the_page = response.read()    
print the_page

现在加了request之后,结果是一模一样的,那为什么还要加request这个东西呢?是因为request这东西可以传递两个参数

1.发送Data数据表单

2.作为HTTP的headers来额外的发送数据或本身的信息

那我们就来看看这两种情况

一、发送Data数据表单

#!/usr/bin/python
#coding:utf-8
import urllib 
import urllib2 
url = 'http://www.baidu.com' 
values = {'name' : 'Michael Foord', 
          'location' : 'pythontab', 
          'language' : 'Python' } 
data = urllib.urlencode(values) 
req = urllib2.Request(url, data) 
response = urllib2.urlopen(req) 
the_page = response.read()

这里面的values也不知道是个啥格式,反正就是有值,然后我们把values给编码了....用的urlencode...因为浏览器只认识编码那种非人类的东西,所以我们得投其所好...

然后,当当当当!我们下面的request是不是多了一个参数?对,就是被编码后的values...再向下就是套路了,一个open,一个read....全是套路....

然后柘林还有一个HTTP发送请求的两种格式,参考:http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

import urllib2 
 import urllib 
 data = {} 
data['name'] = 'Somebody Here' 
 data['location'] = 'pythontab' 
data['language'] = 'Python' 
url_values = urllib.urlencode(data) 
url = 'http://www.baidu.com' 
 full_url = url + '?' + url_values 
 data = urllib2.open(full_url)

 

 

二、作为HTTP的headers来额外的发送数据或本身的信息

 

import urllib 
import urllib2 
url = 'http://www.baidu.com' 
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' 
  
values = {'name' : 'Michael Foord', 
          'location' : 'shuyuqnuan', 
          'language' : 'Python' } 
headers = { 'User-Agent' : user_agent } 
data = urllib.urlencode(values) 
req = urllib2.Request(url, data, headers) 
response = urllib2.urlopen(req) 
the_page = response.read()

 

 

 

 

 

 

 

 

安装beautifulsoup

#Mac下安装 
sudo easy_install beautifulsoup4
#Ubantu下安装
pip install beautifulsoup4

 

我们来写一个爬图片的爬虫(文件夹自己建,link那里看情况写)

#!/usr/bin/python
#coding:utf-8
import urllib
import urllib2
import os
from bs4 import BeautifulSoup


def getAllImageLink():

    html = urllib2.urlopen('http://ac.qq.com/').read()
    soup = BeautifulSoup(html,'html.parser')

    liResult = soup.findAll('img')     

    count = 0;
    for image in liResult:
        count += 1
        link = ‘看情况’+image.get('src')    #这里看情况,src和url一样了就不写,不一样的话就加上前缀,直到link等于url为止
        imageName = count
        filesavepath = '/Users/net/Desktop/testpython/%s.jpg' % imageName
        print filesavepath
        urllib.urlretrieve(link,filesavepath)
        print filesavepath 
if __name__ == '__main__':
    getAllImageLink()

 

posted @ 2017-06-05 10:59  蜀云泉  阅读(537)  评论(0编辑  收藏  举报