xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

本文主要是參看我的博客http://blog.csdn.net/eastmount/article/details/44342559 [python學習] 簡單爬取維基百科程序語言消息盒,主要講述Python爬取維基百科的方法,主要是提供一種方法和思想,希望對大家有所幫助。 建議同博客一起閱讀,否則可能感覺有些模糊。免費資源分享給大家學習。

資源截圖

代碼片段和文件信息

#?coding=utf-8
import?urllib
import?time
import?re

#第一步?獲取維基百科內容
#http://zh.wikipedia.org/wiki/程序設計語言列表
keyname=“程序設計語言列表“
temp=‘http://zh.wikipedia.org/wiki/‘+str(keyname)
content?=?urllib.urlopen(temp).read()
open(‘wikipedia.html‘‘w+‘).write(content)
print?‘Start?Crawling?pages!!!‘

#第二步?獲取網頁中的所有URL
#從原文中“0-9“到“參看“之間是A-Z各個語言的URL
start=content.find(r‘0-9‘)
end=content.find(r‘參看‘)
cutcontent=content[start:end]
link_list?=?re.findall(r“(?<=href=\“).+?(?=\“)|(?<=href=\‘).+?(?=\‘)“?cutcontent)
fileurl=open(‘test.txt‘‘w‘)
for?url?in?link_list:
????#字符串包含wiki或/w/index.php則正確url?否則A-Z
????if?url.find(‘wiki‘)>=0?or?url.find(‘index.php‘)>=0:?????
????????fileurl.write(url+‘\n‘)
????????#print?url
????????num=num+1
fileurl.close()
print?‘URL?Successed!?‘num‘?urls.‘

#第三步?下載每個程序URL靜態文件并獲取Infobox對應table信息
#國家:http://zh.wikipedia.org/wiki/阿布哈茲
#語言:http://zh.wikipedia.org/wiki/Actionscript
info=open(‘infobox.txt‘‘w‘)
info.write(‘****************獲取程序語言信息*************\n\n‘)
j=1
for?url?in?link_list:
????if?url.find(‘wiki‘)>=0?or?url.find(‘index.php‘)>=0:
????????#下載靜態html
????????wikiurl=‘http://zh.wikipedia.org‘+str(url)
????????print?wikiurl
????????language?=?urllib.urlopen(wikiurl).read()
????????name=str(j)+‘?language.html‘
????????#注意?需要創建一個country的文件夾?否則總報錯No?such?file?or?directory
????????open(r‘language/‘+name‘w+‘).write(language)?#寫方式打開+沒有即創建
????????#獲取title信息
????????title_pat=r‘(?<=tle>).*?(?=tle>)‘
????????title_ex=re.compile(title_patre.M|re.S)
????????title_obj=re.search(title_ex?language)?#language對應當前語言HTML所有內容
????????title=title_obj.group()
????????#獲取內容‘C語言?-?維基百科,自由的百科全書‘?僅獲取語言名
????????middle=title.find(r‘-‘)
????????info.write(‘【程序語言??‘+title[:middle]+‘】\n‘)
????????print?title[:middle]

????????#第四步?獲取Infobox的內容
????????#標準方法是通過匹配
確認其內容,找與它最近的一個結束符號
????????#但此處分析源碼后取巧

實現
????????start=language.find(r‘????????end=language.find(r‘

‘+title[:middle-1])????#減去1個空格
????????infobox=language[start:end]
????????#print?infobox

????????#第五步?獲取table中屬性-屬性值
????????if?“infobox?vevent“?in?language:?#防止無Infobox輸出多余換行
????????????#獲取table中tr值
????????????res_tr?=?r‘(.*?)‘
????????????m_tr?=??re.findall(res_trinfoboxre.S|re.M)
????????????for?line?in?m_tr:
????????????????#print?unicode(line‘utf-8‘)
????????????
????????????????#獲取表格第一列th?屬性
????????????????res_th?=?r‘(.*?)‘
????????????????m_th?=?re.findall(res_thlinere.S|re.M)
????????????????for?mm?in?m_th:
????????????????????#如果獲取加粗的th中含超鏈接則處理
????????????????????if?“href“?in?mm:
????????????????????????restr?=?r‘(.*?)‘
????????????????????????h?=?re.findall(restrmmre.S|re.M)
????????????????????????print?unicode(h[0]‘utf-8‘)
????????????????????????info.write(h[0]+‘\n‘)
????????????????????else:
????????????????????????#報錯用str()不行?針對兩個類型相同的變量
????????????????????????#TypeError:?coer


?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????9757??2015-03-18?03:57??爬取維基百科\infobox.txt

?????文件??????94247??2015-03-18?03:49??爬取維基百科\language\1?language.html

?????文件??????31637??2015-03-18?03:49??爬取維基百科\language\10?language.html

?????文件??????28733??2015-03-18?03:49??爬取維基百科\language\11?language.html

?????文件??????29963??2015-03-18?03:49??爬取維基百科\language\12?language.html

?????文件??????28461??2015-03-18?03:49??爬取維基百科\language\13?language.html

?????文件??????28461??2015-03-18?03:49??爬取維基百科\language\14?language.html

?????文件??????29895??2015-03-18?03:49??爬取維基百科\language\15?language.html

?????文件??????30099??2015-03-18?03:49??爬取維基百科\language\16?language.html

?????文件??????31249??2015-03-18?03:49??爬取維基百科\language\17?language.html

?????文件??????64626??2015-03-18?03:49??爬取維基百科\language\18?language.html

?????文件??????28529??2015-03-18?03:49??爬取維基百科\language\19?language.html

?????文件??????24929??2015-03-18?03:49??爬取維基百科\language\2?language.html

?????文件??????30170??2015-03-18?03:49??爬取維基百科\language\20?language.html

?????文件?????111402??2015-03-18?03:50??爬取維基百科\language\21?language.html

?????文件?????110463??2015-03-18?03:50??爬取維基百科\language\22?language.html

?????文件??????30167??2015-03-18?03:50??爬取維基百科\language\23?language.html

?????文件??????29555??2015-03-18?03:50??爬取維基百科\language\24?language.html

?????文件??????28869??2015-03-18?03:50??爬取維基百科\language\25?language.html

?????文件??????30031??2015-03-18?03:50??爬取維基百科\language\26?language.html

?????文件??????28461??2015-03-18?03:50??爬取維基百科\language\27?language.html

?????文件??????29963??2015-03-18?03:50??爬取維基百科\language\28?language.html

?????文件??????31317??2015-03-18?03:50??爬取維基百科\language\29?language.html

?????文件??????94247??2015-03-18?03:49??爬取維基百科\language\3?language.html

?????文件??????31204??2015-03-18?03:50??爬取維基百科\language\30?language.html

?????文件??????33126??2015-03-18?03:50??爬取維基百科\language\31?language.html

?????文件??????35478??2015-03-18?03:50??爬取維基百科\language\32?language.html

?????文件??????27324??2015-03-18?03:50??爬取維基百科\language\33?language.html

?????文件??????30031??2015-03-18?03:50??爬取維基百科\language\34?language.html

?????文件??????28529??2015-03-18?03:50??爬取維基百科\language\35?language.html

............此處省略45個文件信息

評論

共有 條評論