请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

插入代码

3回答

NavCat 2018-11-05 10:19:28

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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对象
    = 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 回复 有任何疑惑可以回复我~
  • 提问者 Samuel10 #1
    谢谢老师
    回复 有任何疑惑可以回复我~ 2018-11-05 11:12:25
提问者 Samuel10 2018-11-06 22:15:21

https://img1.sycdn.imooc.com//szimg/5be1a1e2000114c011370552.jpg

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

0 回复 有任何疑惑可以回复我~
NavCat 2018-11-04 15:29:35

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

0 回复 有任何疑惑可以回复我~
  • 提问者 Samuel10 #1
    老师,我怎么获取js代码呢
    回复 有任何疑惑可以回复我~ 2018-11-04 15:48:34
  • 提问者 Samuel10 #2
    老师,我怎么获取js代码呢
    回复 有任何疑惑可以回复我~ 2018-11-04 15:57:11
  • NavCat 回复 提问者 Samuel10 #3
    跟爬取京东的一样,可以用正则表达式,或者xpath都可以的
    回复 有任何疑惑可以回复我~ 2018-11-04 16:03:51
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号