淘寶采用的是https,看看你的php curl中是否有設(shè)置以下參數(shù):
讓客戶(hù)滿意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)頁(yè)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、清流網(wǎng)站維護(hù)、網(wǎng)站推廣。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
給一個(gè)完整的函數(shù)吧,抓淘寶親測(cè)可用:
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?請(qǐng)求
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就行,具體爬取的數(shù)據(jù)可以穿參查看結(jié)果,方法不區(qū)分淘寶和天貓鏈接,但是前提是必須是PC端鏈接,另外正則寫(xiě)的不規(guī)范,所以可以自己重寫(xiě)正則來(lái)匹配數(shù)據(jù)。
可以通過(guò)requests庫(kù)re庫(kù)進(jìn)行淘寶商品爬蟲(chóng)爬取
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("序號(hào)","價(jià)格","商品名稱(chēng)"))
count = 0
for g in ilt:
count = count +1
print(tplt.format(count,g[0],g[1]))
def main():
goods = '書(shū)包'
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()
這段代碼在過(guò)去是可以爬取淘寶商品信息,但是因?yàn)樘詫毜姆窗羌夹g(shù)升級(jí),便不能讓你大搖大擺地進(jìn)出自如了。
此外也可以借助采集實(shí)現(xiàn)采集