天天看點

實戰抓取糗事百科

# -*- coding:utf-8 -*-
import urllib2
import re


#材料的設定基本上就是設定url,uel_agent,headers的資訊
page = 
url = 'http://www.qiushibaike.com/hot/page/' + str(page)
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }

#嘗試主程式部分
try:
    request = urllib2.Request(url,headers = headers)
    response = urllib2.urlopen(request)
    content = response.read().decode('utf-8','ignore')#内容=回複的讀取并轉為中文格式
    pattern = re.compile('<div.*?author">.*?<a.*?<img.*?>(.*?)</a>.*?<div.*?'+
                         'content">(.*?)<!--(.*?)-->.*?</div>(.*?)<div class="stats.*?class="number">(.*?)</i>',re.S)#模式=正規表達式的編譯('',re.S)
    items = re.findall(pattern,content)#項目=正則的尋找所有(pattern,content)
    for item in items:
        haveImg = re.search("img",item[])
        if not haveImg:
            print item[],item[],item[],item[]#列印無圖檔部分



#聯網不上,報錯
except urllib2.URLError, e:
    if hasattr(e,"code"):
        print e.code
    if hasattr(e,"reason"):
        print e.reason