Python之網路爬蟲學習筆記

2021-08-09 01:47:27 字數 3220 閱讀 8882

大資料時代資料獲取的方式:

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語言也是剛及格,菜雞一枚。但是就我...