91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

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

資源截圖

代碼片段和文件信息

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

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

#第二步?獲取網(wǎng)頁中的所有URL
#從原文中“0-9“到“參看“之間是A-Z各個(gè)語言的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.‘

#第三步?下載每個(gè)程序URL靜態(tài)文件并獲取Infobox對應(yīng)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:
????????#下載靜態(tài)html
????????wikiurl=‘http://zh.wikipedia.org‘+str(url)
????????print?wikiurl
????????language?=?urllib.urlopen(wikiurl).read()
????????name=str(j)+‘?language.html‘
????????#注意?需要?jiǎng)?chuàng)建一個(gè)country的文件夾?否則總報(bào)錯(cuò)No?such?file?or?directory
????????open(r‘language/‘+name‘w+‘).write(language)?#寫方式打開+沒有即創(chuàng)建
????????#獲取title信息
????????title_pat=r‘(?<=tle>).*?(?=tle>)‘
????????title_ex=re.compile(title_patre.M|re.S)
????????title_obj=re.search(title_ex?language)?#language對應(yīng)當(dāng)前語言HTML所有內(nèi)容
????????title=title_obj.group()
????????#獲取內(nèi)容‘C語言?-?維基百科,自由的百科全書‘?僅獲取語言名
????????middle=title.find(r‘-‘)
????????info.write(‘【程序語言??‘+title[:middle]+‘】\n‘)
????????print?title[:middle]

????????#第四步?獲取Infobox的內(nèi)容
????????#標(biāo)準(zhǔn)方法是通過匹配
確認(rèn)其內(nèi)容,找與它最近的一個(gè)結(jié)束符號
????????#但此處分析源碼后取巧

實(shí)現(xiàn)
????????start=language.find(r‘????????end=language.find(r‘

‘+title[:middle-1])????#減去1個(gè)空格
????????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:
????????????????????????#報(bào)錯(cuò)用str()不行?針對兩個(gè)類型相同的變量
????????????????????????#TypeError:?coer


?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????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個(gè)文件信息

評論

共有 條評論