Python之網路爬蟲(4)

2021-09-29 17:17:48 字數 3146 閱讀 8668

使用**伺服器進行資訊爬取,可以很好的解決ip限制的問題。

import urllib.request

def use_proxy(url, proxy_addr):

proxy = urllib.request.proxyhandler()

# 由於urllib.request.urlopen不支援很多高階網頁,因此使用build_opener方法生成物件

opener = urllib.request.build_opener(proxy, urllib.request.httphandler)# 第二個引數是固定的

# 將opener安裝為全域性變數

urllib.request.install_opener(opener)

data = urllib.request.urlopen(url).read().decode("utf-8", "ignore")

return data

proxy_addr ='183.154.51.142:9999'

url = ""

data = use_proxy(url, proxy_addr)

print(len(data))

#39691

我們在執行過程中使用的是西刺的免費**伺服器。其實在操作過程中,基本沒有**伺服器可以成功,看來如果想成功的話還是得花錢買專業版的……大部分出錯顯示如下:

urllib.error.urlerror: 或者

connectionreseterror: [winerror 10054] 遠端主機強迫關閉了乙個現有的連線。

或者urllib.error.urlerror:

爬蟲,是從網際網路中自動把對方伺服器上的爬下來的爬蟲程式。

&bcoffset=0&s=60

&bcoffset=0&s=120

&bcoffset=0&s=180

商品名稱」&cat=16&style=grid&seller_type=taobao&bcoffset=0&s=「頁碼數」

但是這不意味著,資訊一定隱藏在js中了。

我們把無關緊要的部分去掉,逐步留下核心的部分:

o1cn01zzjl9p1zkvcciziqk

然後我們複製這個部分,再回到原始碼頁面去找,果然找到了:

keyname = "背心吊帶" # 如果希望搜尋多次詞,可以建乙個列表,通過for迴圈執行

# 由於不識別中文,我們需要將中文進行編碼

這就是傳說中的臉黑吧……

然後我把老師的原始碼複製過來,改動了檔案儲存位址,報頭那塊也做了適當調整,發現還是啥也沒有,說明這套技術已經不能在**上面爬圖了嗎?我也搞不清……

import urllib.request

import re

import urllib.error

for i in range(1, 10):

url = "" + str(i) + ".html"

data = urllib.request.urlopen(url).read().decode("utf-8", "ignore")

pat = '

urllib.request.urlretrieve(this_image_url, filename=file)

print("第" + str(i) + "頁第" + str(j) + "個爬取成功...")

except urllib.error.urlerror as e:

if hasattr(e, "code"):

print(e.code)

if hasattr(e, 'reason'):

print(e.reason)

except exception as e:

print(e)

#第1頁第0個爬取成功...

第1頁第1個爬取成功...

第1頁第2個爬取成功...

第1頁第3個爬取成功...

第1頁第4個爬取成功...

第1頁第5個爬取成功...

Python 網路爬蟲之BeautifulSoup

在上一節記錄了如何使用urllib進行網路爬蟲,並將資料儲存。但是我當時是使用的正規表示式進行的資料過濾,有些不全面。接下來我將記錄一種更加方便的解析資料的操作 beautifulsoup 安裝beautifulsoup4 導包import urllib.request from bs4 impor...

Python之網路爬蟲(1)

將 中所有的出版社資訊都爬取出來。如下 可以看到,網頁中有許多的出版社。下面我們用 將所有出版社的名字爬取出來,並儲存在檔案中。import urllib.request import re url data urllib.request.urlopen url read data data.dec...

python 網路爬蟲之beautifulsoup

beautifulsoup 用來提取請求返回資訊 安裝 pip install beautifulsoup4 平行遍歷,發生在同乙個父節點下的各節點間 標籤的平行遍歷的結果不一定是標籤 import requests from bs4 import beautifulsoup import re u...