python爬虫類コード簡略化1
爬虫類機能を一歩一歩追加すると、コードが簡略化されることも徐々にわかります.だから前と比較して貼り出します.コードは次のとおりです.
@_@前のurlリンクフィルタを関数として書きます.これにより、メインプログラムは非常に簡潔になります.以前定義した不要な変数もいくつか削除されました.目標駆動、そしてたくさん手を出して本当に素晴らしい~
@_@前のurlリンクフィルタを関数として書きます.これにより、メインプログラムは非常に簡潔になります.以前定義した不要な変数もいくつか削除されました.目標駆動、そしてたくさん手を出して本当に素晴らしい~
# -*- coding: UTF-8 -*-
import urllib
import re
#
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
# url
def getUrl(html):
reg = r'href="(.+?)"'
urlre = re.compile(reg)
urllist = re.findall(urlre,html)
return urllist
# url
def selUrl(gurl):
s = list(set(gurl))
#set url
fw = ''
for i in range(len(s)) :
fp = open('test.txt','w')
# url http.... ,
if "/"in s[i]:
if "http" in s[i]:
fw += (s[i]+'
')
fp.write(fw)
else:
fw += ("http://www.scyongdong.com" +s[i] + '
' )
fp.write(fw)
if __name__=='__main__':
html = getHtml("http://www.scyongdong.com")
gurl = getUrl(html)
selUrl(gurl)
# txt
fp = open('test.txt','r')
print fp.read()
fp.close()