用Python3實現一個簡單的爬蟲。
阿新 • • 發佈:2019-01-05
import urllib
import urllib.request
def loadPage(url,filename):
"""
作用:根據url傳送請求,獲取html資料;
:param url:
:return:
"""
request=urllib.request.Request(url)
html1= urllib.request.urlopen(request).read()
return html1.decode('utf-8')
def writePage(html,filename):
"""
作用將html寫入本地
:param html: 伺服器相應的檔案內容
:return:
"""
with open(filename,'w') as f:
f.write(html)
print('-'*30)
def tiebaSpider(url,beginPage,endPage):
"""
作用貼吧爬蟲排程器,負責處理每一個頁面url;
:param url:
:param beginPage:
:param endPage:
:return:
"""
for page in range(beginPage,endPage+1):
pn=(page - 1)*50
fullurl=url+"&pn=" +str(pn)
print(fullurl)
filename='第'+str(page)+'頁.html'
html= loadPage(url,filename)
writePage(html,filename)
if __name__=="__main__":
kw=input('請輸入你要需要爬取的貼吧名:')
beginPage=int(input('請輸入起始頁'))
endPage=int(input('請輸入結束頁'))
url='https://tieba.baidu.com/f?'
kw1={'kw':kw}
key = urllib.parse.urlencode(kw1)
fullurl=url+key
tiebaSpider(fullurl,beginPage,endPage)
為了返回的html一定要進行decode編碼一下。