小白學爬蟲

2021-10-12 12:28:51 字數 2013 閱讀 7756

最近剛開始學習爬蟲,準備將自己的學習情況寫下來。一是為了鞏固記憶,二是為了更好的與人交流,讓我的爬蟲之路不孤單。

下面展示一下爬取資料的過程

1、首先需要匯入requests模組,requests模組需要安裝。

2、通過url獲得響應物件,具體是通過get請求還是post請求這篇文章講的很好requests模組

。3、將獲得的響應物件儲存為text格式,最後儲存到資料夾中。

import requests

# step_1

url=

''#step_2:返回值是乙個響應物件

response=requests.

get(url=url)

#step_3:text返回的是字串形式的響應資料

page_text=response.text

#step_4:

with

open

('./sougou.html'

,'w'

,encoding=

'utf-8'

)as fp:

fp.write

(page_text)

下面展示一些具體**

1、首先我們先開啟搜狗,我們可以看到搜狗的url為,然後我們隨便搜尋乙個東西,比如人民幣,得到的url為/web?query=人民幣&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&sut=0&sst0=1608468239637&lkt=0%2c0%2c0&sugsuv=1608468236761682&sugtime=1608468239637,我們將人民幣後面的刪掉之後,發現鏈結還是可以搜尋人民幣,所以我們知道後面的是沒用的,真正有用的就是/web?query=人民幣這一塊。

2、而且我們可以知道」query=人民幣「是我們搜尋的內容,如果我們搜尋的內容變成**,那麼」query=人民幣「就會變成」query=**「,這個是動態變化的,而前面的/web是不變的,所以我們先將不變的存為url,然後將我們需要獲取瀏覽的資料儲存在wd,通過params引數對請求url引數進行封裝。

3、通過headers進行ua偽裝,不讓**發現是爬蟲,通過瀏覽器進行查詢你的user-agent輸入到你的請求頭資訊中。

4、通過get請求對資料進行請求,請求中,應該包含url,動態變化的params,請求頭資訊

5、通過手動改變響應資料的編碼,使我們找出來的資料呈現為漢字,可以看懂。

6、將獲得的響應物件儲存為text格式,最後儲存到資料夾中。

import requests

#想要將url攜帶的引數設定成為動態變化

url=

'/web'

#儲存的就是動態的請求引數

wd=input

('enter a key:'

)#params引數表示的是對請求url引數的封裝

params=

#即將發起請求的頭資訊

#header引數用作實現ua偽裝

headers=

#一定需要將params作用到請求裡面

response=requests.

get(url=url,params=params,headers=headers)

#手動修改響應資料的編碼,解決中文亂碼

response.encoding=

'utf-8'

page_text=response.text

filename=wd+

'.html'

with

open

(filename,

'w',encoding=

'utf-8'

)as fp:

fp.write

(page_text)

print

(wd,

)

小白是學mysql好還是 小白學MySql

總所周知吧,這個資料庫有很多,最常用的免費資料庫那還要說到mysql,我本人呢也是對資料庫相關資料進行了一番查閱和學習,以下是我的一些片面的理解,主要分為四個部分 基礎 調優核心原理 架構與運維 1.基礎 基礎那就是基礎語法啊,以及表設計正規化 基礎語法 crud 在我看來基礎語法無非就是增刪改查,...

爬蟲小白自學日記

前言 本人剛畢業不到一年的工科生,經歷只停留在大一上c語言的經歷 基本等於0 從接觸python到實現自己的需求花了5個月的時間,因為大部分遇到的問題都是在csdn上找到的,所以想寫一篇總結,回顧一下這幾個月的經歷和分享一些心得,讓在剛開始學習python的人有一些參考。1.需 求 由於每個月都要從...

小白學爬蟲筆記9 例項 中國好大學排名

html 獲取網頁內容 提取資料結構 展示資料結果 gethtmltext fillunivlist printunivlist import requests import bs4 from bs4 import beautifulsoup def gethtmltext url try r re...