爬虫实践抓取糗事百科的段子和图片

创建python文件

  • 导入所需要的库
    import urllib import urllib2 import re import os
  • 定义要抓取的链接地址和头
    page=2 url='http://www.qiushibaike.com/8hr/page/%s/?s=4988835'%(str(page)) user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36' headers={'User-Agent':user_agent};
    抓取的链接是糗事百科首页的链接。
    头是根据浏览器网络请求拿到的
    我用的是chorm浏览器
    快键键
    shift+command+c 打开的开发人员工具
    将这里的信息复制出来就是header 了
爬虫实践抓取糗事百科的段子和图片_第1张图片
Paste_Image.png
def createDocuments():
#获取当前文件所在的绝对路径
    print os.path.abspath(' ')
#在当前目录下创建一个新的文件夹
    absPath=os.path.abspath('')
#先将要创建的路径拼出来 注如果直接拼接字符串 在不同的操作系统上可能有不同的分隔符
    cratePath= os.path.join(absPath,'duanzi')
    print cratePath
    if os.path.isdir(cratePath) == True:
        print '已经存在'
    else:
        os.mkdir(cratePath)
    return cratePath



def saveFile(url,path,name):
    f=open(path+'/'+str(name)+'.jpg',"wb")
    # print path+'/'+url
    req=urllib2.urlopen(url)
    buf=req.read()
    f.write(buf)

# saveFile('3123123.jpg', path)

path= createDocuments();

try:
    request=urllib2.Request(url,headers=headers);
    respponse=urllib2.urlopen(request);
    content=respponse.read().decode('utf-8')
        #这里注释代码是抓取段子的
    # pattern=re.compile(r'
.*?(.*?).*?
',re.S) # items=re.findall(pattern,content); # for item in items: # print item images=re.compile(r'',re.S) imageList=re.findall(images, content) print json.dumps(imageList) x=0 for imageUrl in imageList: url='http:'+imageUrl.decode('utf-8') print url saveFile(url,path,x) x=x+1 except Exception as e: raise e

你可能感兴趣的:(爬虫实践抓取糗事百科的段子和图片)