大資料時代資料獲取的方式:
1、企業生產的使用者資料:大型網際網路公司有海量使用者,所以他們積累資料有天然的優勢;有資料意識的中小企業,也開始積累資料。
2、資料管理諮詢公司:通常這樣的公司有很龐大的資料採集團隊,一般會通過市場調研、問卷調查、固定的樣本檢測和各行各業的公司進行合作、專家對話(資料積累很多年了,最後得出的科研結果)來採集的資料。
4、第三方資料平台購買資料:通過各個資料交易平台來購買各行各業需要的資料,根據獲取難度不同,**也會不同。
5、爬蟲爬取資料:如果市場上沒有我們需要的資料,或者**太高不願意買,那麼可以招/做乙個爬蟲工程師,從網際網路上定向採集資料。
什麼是爬蟲?
爬蟲:就是抓取網頁資料的程式。
爬蟲怎麼抓去網頁資料的?
網頁三大特徵:
1、每個網頁都有自己唯一的url(統一資源定位符)來進行定位。
2、網頁都是要html(超文字標記語言)來描述頁面資訊。
3、網頁都使用http/https(超文字傳輸協議)來傳輸html資料。
爬蟲的設計思路:
1、首先確定需要爬取的網頁url位址。
2、通過http/https協議來獲取對應的html頁面。
3、提取html頁面裡有用的資料:
a、如果是需要的資料,就儲存起來。
b、如果是頁面裡的其他url,那就繼續執行第二步。
urllib2庫的基本使用
user-agent在進行爬蟲時,通常需要加
urllib.urlencode()用於get引數的url編碼,傳遞的引數為乙個字典
urllib.unquote()用於對url編碼字串的解碼
import urllib
import urllib2
url=""
keyword=raw_input(u"請輸入需要查詢的字串")
wd =
headers =
wd=urllib.urlencode(wd)
fulurl=url+"?"+wd
request = urllib2.request(fulurl, headers=headers)
response = urllib2.urlopen(request)
print response.read()
import urllib
import urllib2
def loadpage(url,filename):
headers =
request = urllib2.request(url, headers=headers)
response = urllib2.urlopen(request)
return response.read()
def writepage(html,filename):
print "正在儲存"+filename
with open(filename, "w") as f:
f.write(html)
print "_"*30
def tiebaspider(url,beginpage,endpage):
for page in range(beginpage,endpage+1):
pn = (page-1)*50
filename = "第"+str(page)+"頁.html"
fullurl = url+"&pn="+str(pn)
html=loadpage(fullurl,filename)
writepage(html,filename)
print "謝謝使用"
if __name__ == "__main__":
kw = raw_input("請輸入要爬取的貼吧名:")
beginpage = int(raw_input("請輸入起始頁:"))
endpage = int(raw_input("請輸入結束頁:"))
url=""
key=urllib.urlencode()
fulurl=url+key
tiebaspider(fulurl,beginpage,endpage)
post請求方式獲取資料
import urllib
import urllib2
# 通過抓包的方式獲取的url,並不是瀏覽器上顯示的url
url = ""
# 完整的headers
headers =
# 使用者介面輸入
key = raw_input("請輸入需要翻譯的文字:")
# 傳送到web伺服器的表單資料
formdata =
# 經過urlencode轉碼
data = urllib.urlencode(formdata)
# 如果request()方法裡的data引數有值,那麼這個請求就是post
# 如果沒有,就是get
request = urllib2.request(url, data = data, headers = headers)
print urllib2.urlopen(request).read()
request學習筆記
requests庫的安裝
pip install requests
import requests
requests庫的get()方法:
requests.get(url,params=none,**kwargs)
params:url中的額外引數,字典或位元組流格式,可選
**kwargs:12個控制訪問的引數
透過pip安裝套件
pip install beautifulsoup4
import requests
newsurl = ''
res = requests.get(newsurl)
print(res.text)
from bs4 import beautifulsoup
html_sample = '\\\
\this is link1 \
this is link2 \\'
soup = beautifulsoup(html_sample, 'html.parser')
print(soup.text)
網路爬蟲 python學習筆記
pip install requestsr requests.get url r requests.get url,params none,kwargs request其實只有乙個方法 request 有兩個物件 import request r requests.get print r.statu...
python網路爬蟲學習筆記
爬取網頁的通用 框架 網路爬蟲的盜亦有道 requests爬取例項 自動爬取html頁面 自動網路請求提交 主要方法 說明requests.request 構造乙個請求 requests.get 獲取html網頁的主要方法,對應於http的get requests.head 獲取html網頁頭資訊的...
Python(學習筆記 網路爬蟲)
這篇呢作為學習筆記吧,應該不是太官方的 那就開始吧,不太正式,就不注重格式了 一 引言 首先我們應該想這麼個問題,學python的目的是什麼,最近我們開了python這門課,有好多同學的學習方法我感覺出了問題,有的同學問我怎麼學,說實在我也不知道,因為我也是新手,c語言也是剛及格,菜雞一枚。但是就我...