处理script中数据的最新方法,请看这个

主要介绍利用js2xml来获取<script>数据

1. 待获取网页:url:https://s.taobao.com/search?q=%E6%89%8B%E6%9C%BA&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306

点击打开链接

2. 待获取数据

<script>g_page_config = {"pageName":"mainsrp","mods":{"shopcombotip":{"status":"hide"},"phonenav":{"status":"hide"},"debugbar":{"status":"hide"},"shopcombo":{"status":"hide"},"itemlist":{"status":"show","data":{"postFeeText":"运费","trace":"msrp_auction","auctions":[{"i2iTags":{"samestyle":{"url":""},"similar":{"url":"/search?type\u003dsimilar\u0026app\u003di2i\u0026rec_type\u003d1\u0026uniqpid\u003d\u0026nid\u003d558550356564"}},"p4pTags":[],"nid":"558550356564","category":"1512","pid":"","title":"【低至4298元起】Apple/苹果 iPhone 8 64G 全网通4G\u003cspan class\u003dH\u003e手机\u003c/span\u003e 苹果8","raw_title":"【低至4298元起】Apple/苹果 iPhone 8 64G 全网通4G手机 苹果8","pic_url":"//g-search3.alicdn.com/img/bao/uploaded/i4/i1/2616970884/TB1828xx7SWBuNjSszdXXbeSpXa_!!0-item_pic.jpg","detail_url":"//detail.tmall.com/item.htm?id\u003d558550356564\u0026ad_id\u003d\u0026am_id\u003d\u0026cm_id\u003d140105335569ed55e27b\u0026pm_id\u003d\u0026abbucket\u003d11","view_price":"4443.00","view_fee":"0.00","item_loc":"江苏 南京","view_sales":"58626人付款","comment_count":"88600","user_id":"2616970884","nick":"苏宁易购官方旗舰店","shopcard":{"levelClasses":[{"levelClass":"icon-supple-level-jinguan"},{"levelClass":"icon-supple-level-jinguan"},{"levelClass":"icon-supple-level-jinguan"},{"levelClass":"icon-supple-level-jinguan"},{"levelClass":"icon-supple-level-jinguan"}],"isTmall":true,"delivery":[487,1,1605],"description":[488,1,919],"service":[484,1,769],"encryptedUserId":"UvCxYMCkuvmg4MNTT","sellerCredit":20,"totalRate":10000},"icon":[{"title":"618大促活动1","dom_class":"icon-fest-618fenwei2018","position":"0","show_type":"0","icon_category":"baobei","outer_text":"0","html":"","icon_key":"icon-fest-618fenwei2018","trace":"srpservice","traceIdx":0,"innerText":"618大促活动1"},{"title":"尚天猫,就购了","dom_class":"icon-service-tianmao","position":"1","show_type":"0","icon_category":"baobei","outer_text":"0","html":"","icon_key":"icon-service-tianmao","trace":"srpservice","traceIdx":1,"innerText":"天猫宝贝","url":"//www.tmall.com/"}],"comment_url":"//detail.tmall.com/item.htm?
"""</script>

待获取的信息包含在<script>标签中,不是想要的xml的格式,因此,除了可以利用正则表达式来提取信息外,还可以使用js2xml来获取信息

3. js2xml介绍

首先,使用 parse(text, encoding='utf8', debug=False) 函数将获取的信息转化为 <class 'lxml.etree._Element'>,,然后,在利用pretty_print(tree)将其转化 xml 标签树。

4. 实际应用

import requests
from bs4 import BeautifulSoup
import js2xmlheaders = {'cookie' : 't=d970fee880a8a21b3bc6c4cfc5214f06; cna=z9qXE/dcfB4CAXcx2lO5D6hy; miid=830238069184972498; UM_distinctid=163d4e10df42c9-008bee4f8dbd2e-6b1b1279-100200-163d4e10df531e; __guid=154677242.2026198364084961000.1528950691863.182; hng=CN%7Czh-CN%7CCNY%7C156; thw=cn; cookie2=1a9dd588fb9863dbcef85080ba49048d; v=0; _tb_token_=fb473336e3bee; alitrackid=www.taobao.com; lastalitrackid=www.taobao.com; JSESSIONID=1B0C308CF96CCA8721C294659D0603C2; monitor_count=8; CNZZDATA1272960300=1938859093-1528945321-https%253A%252F%252Fwww.taobao.com%252F%7C1528977724; isg=BGtrPwowtJC0BOh06VZZtSmH-o-VKH8KIAakd93oRqoBfIveZVAPUgne0rwS3Nf6','referer' : 'https://www.taobao.com/','user-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',}url = "https://s.taobao.com/search?q=%E6%89%8B%E6%9C%BA&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306"
r = requests.get(url, headers = headers)
demo=r.content
soup=BeautifulSoup(demo,'lxml')
src=soup.select('head script')[7].string
src_text = js2xml.parse(src, encoding='utf-8', debug=False)
print(type(src_text))
src_tree = js2xml.pretty_print(src_text)
print(src_tree)

欢迎关注,获取更多资讯!

python爬虫— 利用js2xml 获取 script 数据相关推荐

  1. Python爬虫:利用JS逆向抓取携程网景点评论区图片的下载链接

    Python爬虫:利用JS逆向抓取携程网景点评论区图片的下载链接 1. 前言 2. 实现过程 3. 运行结果 1. 前言 文章内容可能存在版权问题,为此,小编不提供相关实现代码,只是从js逆向说一说到 ...

  2. python爬虫拉取豆瓣Top250数据

    python爬虫拉取豆瓣Top250数据 利用request和正则表达式抓取豆瓣电影Top250的相关内容,提取出电影的名称.时间.评分和图片等信息,提取的站点url为https://movie.do ...

  3. Python爬虫《自动化学报》数据爬取与数据分析

    Python爬虫<自动化学报>数据爬取与数据分析 文章目录 Python爬虫<自动化学报>数据爬取与数据分析 前言 一.代码 二.结果展示 三.爬虫实现 1.准备 2.获取网页 ...

  4. Python爬虫——利用Scrapy批量下载图片

    Python爬虫--利用Scrapy批量下载图片 Scrapy下载图片项目介绍 使用Scrapy下载图片 项目创建 项目预览 创建爬虫文件 项目组件介绍 Scrapy爬虫流程介绍 页面结构分析 定义I ...

  5. python爬网页数据用什么_初学者如何用“python爬虫”技术抓取网页数据?

    原标题:初学者如何用"python爬虫"技术抓取网页数据? 在当今社会,互联网上充斥着许多有用的数据.我们只需要耐心观察并添加一些技术手段即可获得大量有价值的数据.而这里的&quo ...

  6. Python爬虫之猫眼APP电影数据(十八)

    原创不易,转载前请注明博主的链接地址:Blessy_Zhu https://blog.csdn.net/weixin_42555080 本次代码的环境: 运行平台: Windows Python版本: ...

  7. 利用Tushare获取金融数据

    利用Tushare获取金融数据 开发背景 Tushare社区 Tushare安装 Tushare使用 Tushare获取金融数据 1.获取A股列表 2.获取单只A股行情数据 3.获取多只A股数据 4. ...

  8. Python爬虫基础-如何获取网页源代码

    Python爬虫基础-如何获取网页源代码 网络爬虫(Web Crawler),又称网页蜘蛛(Web Spider),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.爬虫程序根据一组特定的规则 ...

  9. Python爬虫利用18行代码爬取虎牙上百张小姐姐图片

    Python爬虫利用18行代码爬取虎牙上百张小姐姐图片 下面开始上代码 需要用到的库 import request #页面请求 import time #用于时间延迟 import re #正则表达式 ...

最新文章

  1. Swift - 访问通讯录联系人(使用系统提供的通讯录交互界面)
  2. 干货 | 清华大学郑方:语音技术用于身份认证的理论与实践
  3. mac os mysql 命令_如何在Mac OS上安装“mysql”命令?
  4. 深入学习c++--智能指针(三) unique_ptr
  5. Facebook 推出多模态通用模型 FLAVA,吊打 CLIP 平均十个点!
  6. HashMap死锁原因及替代方案
  7. python网络编程3-socketserver模块
  8. java enum枚举类型的使用
  9. php 随机坐标点,php实现 计算坐标点在某区域
  10. java程序设计实验指导书_java程序设计实验指导书-my
  11. 建筑企业数字化转型关键问题及解决方案
  12. html表格自动分列,CSS3 Columns分列式布局方法简介
  13. 三步教你编写一个Neumorphism风格的小时钟
  14. 【蓝桥杯Python-无聊的逗】解题思路和参考代码
  15. c++中ASCII码
  16. SAS:数据合并简介
  17. 扩增子分析全面升级!加量不加价,数据更多新玩法
  18. 数据可视化大屏(柱状图、条形图、情感分析饼图、地域图、词云图、数据表格图、涟漪散点图)
  19. 在react项目里面引入less预处理器
  20. 菲姐游泳 - C/C++ 语法基础

热门文章

  1. 【kindle笔记】之 《犬夜叉》-2017-12-26
  2. android espresso 教程,Espresso 设置说明
  3. PDF怎么转图片?快把这些方法收好
  4. 织梦后台怎么上传mp4视频到网站中
  5. 计算机视觉中的transformer模型创新思路总结
  6. 服务器无线桥接技巧,两个路由器无线桥接完美教程【图】
  7. 尝试在blender中渲染一个最简单的动画
  8. 我哋嘅水墨动剐曾让宫祈骏、糕填勋睇木殳咗2019年6月25日 星期二
  9. 小学计算机应用技术学院官网,成都信息技术学院官网
  10. 【kettle抽取Orecle/Mysql数据至HDFS】诸如‘\u0001’等特殊分隔符表示法