老师,我点刷新接口出不来是什么原因呢?

来源:2-11 爬取淘宝网的数据

Samuel10

2018-11-04

图片描述

写回答

3回答

NavCat

2018-11-05

淘宝双11做了较大调整,不按接口返回了,使用正则爬去代码参考

import requests
import re
import json

def spider_tb(sn ,book_list=[]):
	url = 'https://s.taobao.com/search?q={0}'.format(sn)
	#获取html内容
	text = requests.get(url).text

	# 使用正则表达式找到json对象
	p = re.compile(r'g_page_config = (\{.+\});\s*', re.M)
	rest = p.search(text)
	if rest:
		print(rest.group(1))
		data = json.loads(rest.group(1))
		bk_list = data['mods']['itemlist']['data']['auctions']

		print (len (bk_list))
		for bk in bk_list:
			#标题
			title = bk["raw_title"]
			print(title)
			#价格
			price = bk["view_price"]
			print(price)
			#购买链接
			link = bk["detail_url"]
			print(link)
			#商家
			store = bk["nick"]
			print(store)
			book_list.append({ 'title' : title, 'price' : price, 'link' : link, 'store' : store })
			print ('{title}:{price}:{link}:{store}'.format( title = title, price = price, link = link, store = store )) 



if __name__ == '__main__':
	spider_tb('9787115428028')


1
1
Samuel10
谢谢老师
2018-11-05
共1条回复

Samuel10

提问者

2018-11-06

//img.mukewang.com/szimg/5be1a1e2000114c011370552.jpg

老师代码运行不成功是什么原因呢

0
0

NavCat

2018-11-04

淘宝的更改了实现方式,不通过接口来返回数据了。你可以查看页面源代码,数据在页面上的js中

0
6
NavCat
回复
Samuel10
可以的,晚点给你
2018-11-05
共6条回复

手把手教你把Python应用到实际开发 不再空谈语法

学会项目开发思路,掌握Python高阶用法。

1341 学习 · 244 问题

查看课程