貼吧小試牛刀
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import urllib
import urllib2
def loadPage(url, filename):
"""
作用:根據url傳送請求,獲取伺服器響應檔案
url: 需要爬取的url地址
filename : 處理的檔名
"""
print "正在下載 " + filename
headers = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"}
request = urllib2.Request(url, headers = headers)
return urllib2.urlopen(request).read()
def writePage(html, filename):
"""
作用:將html內容寫入到本地
html:伺服器相應檔案內容
"""
print "正在儲存 " + filename
# 檔案寫入
with open(filename, "w") as f:
f.write(html)
print "-" * 30
def tiebaSpider(url, beginPage, endPage):
"""
作用:貼吧爬蟲排程器,負責組合處理每個頁面的url
url : 貼吧url的前部分
beginPage : 起始頁
endPage : 結束頁
"""
for page in range(beginPage, endPage + 1):
pn = (page - 1) * 50
filename = "第" + str(page) + "頁.html"
fullurl = url + "&pn=" + str(pn)
#print fullurl
html = loadPage(fullurl, filename)
#print html
writePage(html, filename)
print "謝謝使用"
if __name__ == "__main__":
kw = raw_input("請輸入需要爬取的貼吧名:")
beginPage = int(raw_input("請輸入起始頁:"))
endPage = int(raw_input("請輸入結束頁:"))
url = "http://tieba.baidu.com/f?"
key = urllib.urlencode({"kw": kw})
fullurl = url + key
tiebaSpider(fullurl, beginPage, endPage)
相關文章
- Celery:小試牛刀
- nodejs redis 小試牛刀NodeJSRedis
- vite plugins小試牛刀VitePlugin
- Jena ARQ小試牛刀
- spring篇(一)牛刀小試Spring
- 第2章 牛刀小試
- ElasticSearch學習一-小試牛刀Elasticsearch
- Java11 HttpClient小試牛刀JavaHTTPclient
- 分散式鎖--Redis小試牛刀分散式Redis
- Jmeter介面測試例項-牛刀小試JMeter
- Laravel 事件系統(一)、小試牛刀Laravel事件
- python定時任務之小試牛刀Python
- Abp小試牛刀之 圖片上傳
- Vue.js 牛刀小試(持續更新~~~)Vue.js
- python小試牛刀: K-best演算法Python演算法
- 小試牛刀ElasticSearch大資料聚合統計Elasticsearch大資料
- constraintayout新功能montionLayout寫動畫小試牛刀AI動畫
- 【小試牛刀】Stage-2 裝飾器初探
- 【小白學PyTorch】8 實戰之MNIST小試牛刀PyTorch
- Golang框架Beego在Windows環境下小試牛刀Golang框架Windows
- Golang框架beego電影網爬蟲小試牛刀Golang框架爬蟲
- 百度貼吧賬號小號高等級高吧齡價美物廉
- Flink Restart Strategies重啟策略機制深入剖析-Flink牛刀小試REST
- 現代IT基礎設施管理(1):Terraform初識和小試牛刀ORM
- 段友福利:Python爬取段友之家貼吧圖片和小視訊Python
- 百度貼吧怎麼儲存看過的影片?百度貼吧儲存影片的方法
- 《流浪地球 2》 Deepfake 小試牛刀,45+ 吳京「被」年輕,變身 21 歲小鮮肉
- 小總結吧
- 百度貼吧怎麼儲存看過的視訊?百度貼吧儲存視訊的方法
- 【Vue.js 牛刀小試】03:第三章 - 事件修飾符的使用Vue.js事件
- 【Vue.js 牛刀小試】01:第一章 - 一些基礎概念Vue.js
- Flink 狀態管理與checkPoint資料容錯機制深入剖析-Flink牛刀小試
- Flink CheckPoint狀態點恢復與savePoint機制對比剖析-Flink牛刀小試
- 【Vue.js 牛刀小試】05:第五章 - 計算屬性與監聽器Vue.js
- Flink Window分析及Watermark解決亂序資料機制深入剖析-Flink牛刀小試
- 【Vue.js 牛刀小試】05:第五章 – 計算屬性與監聽器Vue.js
- Flink 叢集執行原理兼部署及Yarn執行模式深入剖析-Flink牛刀小試Yarn模式
- 【Cron表示式】小貼士