【python爬虫网页结构分析】判断数据是在html的静态网页还

2020-07-22  本文已影响0人  山竹山竹px
  1. 打开网页,点开【检查】

  2. 点开【Network】[all]

  3. 重新刷新页面,all里会有很多加载

  4. 找到最开始加载出来的一条(加载的图片略过),不同网站的名字不一样

  5. 点开【preview】

  6. 这里的内容如果包含你要的信息,则数据储存在html

    比如豆瓣新片榜,我们可以在preview中找到我们想要的榜单内容,则数据储存在HTML

    豆瓣新片榜.png

    再点【Headers】General 一栏的Request URL就是我们需要的URL,同时也是地址栏的URL

    电影信息就可以在【elements】中定位

    电影信息数据定位.png

    如果在【preview】没有想要的信息,则URL不能用地址栏的URL

    比如qq音乐,最先加载出来的HTML,【preview】中没有评论,则数据不在HTML

    qq音乐html无评论.png

    那么怎么找评论在哪呢?

    在上方的搜索框里,输入“comment”,一条一条翻看【Response】,直到找到评论

    (小技巧1:程序员命名时尽可能“见名知义”,所以名字中一般包含关键词的英文,比如歌词可以搜“lyric”)

    (小技巧2: 在response中搜索时,可以使用 ctrl+F )

    qq音乐评论在哪.png

    评论信息的定位在json,为了看起来舒服点,可以把【Response】的内容全选,复制到 http://json.cn/ 进行解析

    json.cn

    此时,点到该条目的【Headers】,Request URL是很长一串,如下

    Request URL:

    https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg?g_tk_new_20200303=5381&g_tk=5381&loginUin=1095441934&hostUin=0&format=json&inCharset=utf8&outCharset=GB2312&notice=0&platform=yqq.json&needNewCode=0&cid=205360772&reqtype=2&biztype=1&topid=102068227&cmd=8&needmusiccrit=0&pagenum=0&pagesize=25&lasthotcommentid=&domain=qq.com&ct=24&cv=10101010

    尝试点开这个长链接,就是之前我们在【Response】里看到的json数据。我们需要的URL是 ?之前的https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg?后面是一系列参数,在【Headers】[Query String Parameters].

    参数.png

    请求网址时,需要有URL/parameters/headers

    然后使用.json 方法解码json数据


最后附上requests库的中文用法文档

https://requests.readthedocs.io/zh_CN/latest/user/quickstart.html

上一篇下一篇

猜你喜欢

热点阅读