本帖最后由 小兵 于 2021-4-19 21:03 编辑
太久不写东西了,本来就不怎么会,现在更是忘光了,只好求助大家了
如何获取商品名称、链接、销量?注:原价有时候有、有时候没有
发哥给的代码如下,有原价可正常获取,部分商品没有原价时(图1右侧)获取价格错位,当所有商品均只有现价时什么也获取不到#include <array.au3>
Local $hFile = FileOpen('1.txt')
Local $sText = FileRead($hFile)
FileClose($hFile)
Global $aTaobaoItem[1][4]
Local $aInfo = StringRegExp($sText,'class\s*?=\s*?"item-name[^<>]+?href\s*?=\s*?"(//item\.taobao\.com/item\.htm\?id=\d+)"[^<>]+?>\s*?(\S.*?)</a[\s\S]+?c-price"\s*>([\d\.]+?)<b><[\s\S]+?</b>sale-num"\s*>(\d+?)<',3);
$hw2 = FileOpen("2.txt", 10)
If Not Mod(UBound($aInfo),4) Then
; MsgBox(0,UBound($aInfo),UBound($aInfo)/4)
ReDim $aTaobaoItem[UBound($aInfo)/4][4]
Local $iIndex = 0
For $i = 0 To UBound($aInfo) - 1 Step 4
$aTaobaoItem[$iIndex][0] = 'https:'&$aInfo[$i]
$aTaobaoItem[$iIndex][1] = $aInfo[$i+1]
$aTaobaoItem[$iIndex][2] = $aInfo[$i+2]
$aTaobaoItem[$iIndex][3] = $aInfo[$i+3]
FileWriteLine(@DesktopDir & "\2.txt", $i/4+1 &' - '&$aInfo[$i+1] &@CRLF& 'https:'&$aInfo[$i] &@CRLF& '价格:'&$aInfo[$i+2] &@CRLF& '销量:'&$aInfo[$i+3] &@CRLF&@CRLF)
$iIndex+=1
Next
_ArrayDisplay($aTaobaoItem)
EndIf
FileClose($hw2)
发哥的正则在没有蓝框部分时无法正常获取,请教如何修改?
或者各位有什么简单易懂的写法指点指点,感谢各位,感谢发哥
附件1.txt是两页商品的html源码
|