python 搞了一天都搞不定的爬虫,求指点

http://www.iwencai.com/stockp...

这个里面的内容

clipboard.png

该原始数据在这里

clipboard.png
网址也找到了。
现在的问题是里面的内容乱起八糟的,用各种解析方法都解析不出来,实在想死的心情都有了,整整一天的了,啥也没有弄出来。

访问的时候要带 headers cokia 和 token 而且很容易过期,希望大家注意。

import requests
headers = {
        "Connection": "keep-alive",
        "Cache-Control": "max-age=0",
        "Upgrade-Insecure-Requests": "1",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
        "Accept-Encoding": "gzip, deflate",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Cookie": "cid=ae79b8bbe2e2211e4eb08d02a4e99b661561623675; ComputerID=ae79b8bbe2e2211e4eb08d02a4e99b661561623675; guideState=1; PHPSESSID=b9785d6a2a5216fc96e24cabfb9e5e9d; v=AnKxyeWJe6QIl0eYvyWY4buiw7NXA3bDqAdqwTxLniUQzxxlJJPGrXiXutcP"
        }
url = 'http://www.iwencai.com/stockpick/cache?token=535bc28afb185c3dc9fa2b769a686553&p=1&perpage=500&showType=[%22%22,%22%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22]'


response = requests.get(url, headers=headers)

大家注意cokia和token 要更换,不然可能访问不到数据。
试了 xpath 解析不出来
用 json.loads 更是乱七八糟的不符合。

其实还有一个问题想请教,一个HTML到底是什么? 是查看“查看源代码”中的内容吗?
但是源代码有时候和开发环境展示的内容又不一样,那到底是那个算真正的html 呢?
例如:

clipboard.png

求指点,不甚感激。

问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 2.2k
1 个回答

他这东西全在 http://s.thsi.cn/js/chameleon/chameleon.min.【时间戳】.js 这个JS里面,你可以尝试分析一下。这里面主要根据User-Agent和这个JS头上返回的TOKEN_SERVER_TIME以及一些其他的东西,生成并写入key为v的cookie。

另外这样抓取,可以使用Selenium+Chrome(headless)。

另外:

  • HTML的是查看源码中的内容。
  • 开发者工具中打开的,是当前所展示网页的代码,并不一定是原始代码,可能经过JS修改过。

所以你写xpath时,需要看的是查看源码的内容,而不能是开发者工具中的源码。除非你使用渲染过的网页代码才行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题