在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 為什么最后打印不出任何東西?

為什么最后打印不出任何東西?

為什么最后print是個(gè)空的列表?

import re
import requests
url = 'https://s.taobao.com/search?q...'

r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding

plt = re.findall(r'"view_price":"[d.]*"',url)
print(plt)

圖片描述

回答
編輯回答
凝雅

根據(jù)你的代碼,你是想根據(jù)關(guān)鍵詞抓取某寶部分商品的價(jià)格吧?
這里存在兩個(gè)問題:

  1. 接口問題,我看了下,商品列表是通過JSONP拉取的因此,直接用requests模擬搜索并無法獲取到搜搜商品列表,你需要換成https://s.taobao.com/api?callback=jsonp253&ajax=true&m=customized&q=%E4%B9%A6%E5%8C%85
  2. 根據(jù)正則匹配結(jié)果 re.findall(r'"view_price":"[d.]*"',url)有兩個(gè)錯(cuò)誤,
    a: 匹配結(jié)果,但是你給的是url,無法達(dá)到預(yù)期,換成r.text.encode('UTF8')
    b: 正則錯(cuò)誤,浮點(diǎn)數(shù)匹配正確的應(yīng)該為[\d.]*(嚴(yán)謹(jǐn)一點(diǎn)的可以用[1-9]\d*\.\d*|0\.\d*[1-9]\d*
2018年2月23日 03:03