發送http頭信息試試,另外想要做蜘蛛程序的話,還是python比較好用,有豐富了web類庫

創新互聯公司主要從事網頁設計、PC網站建設(電腦版網站建設)、wap網站建設(手機版網站建設)、響應式網站建設、程序開發、網站優化、微網站、小程序制作等,憑借多年來在互聯網的打拼,我們在互聯網網站建設行業積累了豐富的成都網站設計、網站制作、網站設計、網絡營銷經驗,集策劃、開發、設計、營銷、管理等多方位專業化運作于一體。
可以通過requests庫re庫進行淘寶商品爬蟲爬取
import requests
import re
def getHTMLText(url):
try:
r= requests.get(url,timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return ""
def parsePage(ilt,html):
try:
plt = re.findall(r'\"view_price\":\"[\d+\.]*\"',html)
tlt = re.findall(r'\"raw_title\"\:\".*?\"',html)
for i in range(len(plt)):
price = eval(plt[i].split(':')[1])
title = eval(tlt[i].split(':')[1])
ilt.append([price,title])
except:
print("F")
def printGoodsList(ilt):
tplt = "{:4}\t{:8}\t{:16}"
print(tplt.format("序號","價格","商品名稱"))
count = 0
for g in ilt:
count = count +1
print(tplt.format(count,g[0],g[1]))
def main():
goods = '書包'
depth = 2
start_url = ""+ goods
infoList = []
for i in range(depth):
try:
url = start_url +'s='+str(44*i)
html = getHTMLText(url)
parsePage(infoList,html)
except:
continue
printGoodsList(infoList)
main()
這段代碼在過去是可以爬取淘寶商品信息,但是因為淘寶的反扒技術升級,便不能讓你大搖大擺地進出自如了。
此外也可以借助采集實現采集
淘寶采用的是https,看看你的php curl中是否有設置以下參數:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
給一個完整的函數吧,抓淘寶親測可用:
function?request_url($url)?{
$ch?=?curl_init();
curl_setopt($ch,?CURLOPT_URL,?$url);
curl_setopt($ch,?CURLOPT_FAILONERROR,?false);
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?true);
//https?請求
if(strlen($url)??5??strtolower(substr($url,0,5))?==?"https"?)?{
curl_setopt($ch,?CURLOPT_SSL_VERIFYPEER,?false);
curl_setopt($ch,?CURLOPT_SSL_VERIFYHOST,?false);
}
curl_setopt($ch,?CURLOPT_REFERER,?$url);
curl_setopt($ch,?CURLOPT_ENCODING,?'gzip');
$reponse?=?curl_exec($ch);
return?$reponse;
}
直接用Curl就行,具體爬取的數據可以穿參查看結果,方法不區分淘寶和天貓鏈接,但是前提是必須是PC端鏈接,另外正則寫的不規范,所以可以自己重寫正則來匹配數據。
1、通過淘寶提供的標準api獲取數據
2、通過淘寶的開發者身份創建應用獲取數據
3、通過抓取網頁的功能再提取自已需要的數據。
當前標題:php淘寶數據抓取 php采集網頁數據
網頁網址:http://www.yijiale78.com/article22/hgodcc.html
成都網站建設公司_創新互聯,為您提供自適應網站、外貿網站建設、手機網站建設、App開發、、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯