Selenium+BeautifulSoup+json获取Script标签内的json数据
Selenium爬虫遇到 数据是以 JSON 字符串的形式包裹在 Script 标签中,
假设Script标签下代码如下:
<script id="DATA_INFO" type="application/json" > { "user": { "isLogin": true, "userInfo": { "id": 123456, "nickname": "LiMing", "intro": "人生苦短,我用python" } } } </script>
此时drive.find_elements_by_xpath('//*[@id="DATA_INFO"] 只能定位到元素,但是无法通过.text方法,获取Script标签下的json数据
from bs4 import BeautifulSoup as bs import json as js #selenium获取当前页面源码 html = drive.page_source #BeautifulSoup转换页面源码 bs=BeautifulSoup(html,'lxml') #获取Script标签下的完整json数据,并通过json加载成字典格式 js_test=js.loads(bs.find("script",{"id":"DATA_INFO"}).get_text()) #获取Script标签下的nickname 值 js_tes
到此这篇关于Selenium+BeautifulSoup+json获取Script标签内的json数据的文章就介绍到这了,更多相关Selenium+BeautifulSoup获取json内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
使用Selenium驱动chrome页面,获得淘宝信息并用BeautifulSoup分析得到结果. 使用Selenium时注意页面的加载判断,以及加载超时的异常处理. import json import re from bs4 import BeautifulSoup from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.com
-
Selenium结合BeautifulSoup4编写简单的python爬虫
在学会了抓包,接口请求(如requests库)和Selenium的一些操作方法后,基本上就可以编写爬虫,爬取绝大多数网站的内容. 在爬虫领域,Selenium永远是最后一道防线.从本质上来说,访问网页实际上就是一个接口请求.请求url后,返回的是网页的源代码. 我们只需要解析html或者通过正则匹配提取出我们需要的数据即可. 有些网站我们可以使用requests.get(url),得到的响应文本中获取到所有的数据.而有些网页数据是通过JS动态加载到页面中的.使用requests获取不到或者只能获
-
Selenium+BeautifulSoup+json获取Script标签内的json数据
Selenium爬虫遇到 数据是以 JSON 字符串的形式包裹在 Script 标签中, 假设Script标签下代码如下: <script id="DATA_INFO" type="application/json" > { "user": { "isLogin": true, "userInfo": { "id": 123456, "nickname":
-
JS 获取HTML标签内的子节点的方法
子节点的个数: document.getElementById("id").childNodes.length 注意: 标签开/闭合算2个节点 第几个子几点: document.getElementById("id").childNodes[n] 示例: 这里是 length-4 处,margin-left:20px 输出:length=8 实例: <div id="page_kx" style="text-align: cent
-
python的xpath获取div标签内html内容,实现innerhtml功能的方法
python的xpath没有获取div标签内html内容的功能,也就是获取div或a标签中的innerhtml,写了个小程序实现一下: 源代码 [webadmin@centos7 csdnd4q] #162> vim /mywork/python/csdnd4q/z040.py #去掉最外层标签,保留其内的所有html标记和文本 def getinnerhtml(data): return data[data.find(">")+1:data.rfind("<
-
mysql 获取规定时间段内的统计数据
mysql 获取规定时间段内的统计数据 按年统计 SELECT count(*), DATE_FORMAT(order_info.create_time, '%Y-%m-%d') AS count_by_date FROM order_info WHERE DATE_FORMAT(order_info.create_time, '%Y') = '2017' GROUP BY count_by_date ORDER BY NULL 按月统计 SELECT count(*), DATE_FORMAT
-
javascript 获取url参数和script标签中获取url参数函数代码
url paramter: 复制代码 代码如下: //lastest: var getArgs=function() {//get url querystring var params=document.location.search,reg=/(?:^\?|&)(.*?)=(.*?)(?=&|$)/g,temp,args={}; while((temp=reg.exec(params))!=null) args[temp[1]]=decodeURIComponent(temp[2]);
-
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
本文实例讲述了python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #python 2.7 #XiaoDeng #http://tieba.baidu.com/p/2460150866 #标签操作 from bs4 import BeautifulSoup import urllib.request import re #如果是网址,可以用这个办法来读取网页 #html_doc = "htt
-
详解BeautifulSoup获取特定标签下内容的方法
以下是个人在学习beautifulSoup过程中的一些总结,目前我在使用爬虫数据时使用的方法的是:先用find_all()找出需要内容所在的标签,如果所需内容一个find_all()不能满足,那就用两个或者多个.接下来遍历find_all的结果,用get_txt().get('href').得到文本或者链接,然后放入各自的列表中.这样做有一个缺点就是txt的数据是一个单独的列表,链接的数据也是一个单独的列表,一方面不能体现这些数据之间的结构性,另一方面当想要获得更多的内容时,就要创建更多的空列表
-
Python获取当前页面内所有链接的四种方法对比分析
本文实例讲述了Python获取当前页面内所有链接的四种方法.分享给大家供大家参考,具体如下: ''' 得到当前页面所有连接 ''' import requests import re from bs4 import BeautifulSoup from lxml import etree from selenium import webdriver url = 'http://www.testweb.com' r = requests.get(url) r.encoding = 'gb2312'
-
浅析script标签中的defer与async属性
一.前言 看到的前辈写的代码如下 <script src="#link("xxxx/xx/home/home.js")" type="text/javascript" async defer></script> 竟然同时有async和defer属性,心想着肯定是前辈老司机的什么黑科技,两个一块儿肯定会发生什么神奇化学反应,于是赶紧怀着一颗崇敬的心去翻书翻文档,先复习一下各自的定义. 二.调查一番 先看看async和defe
-
Script标签与访问HTML页面详解
复制代码 代码如下: <img src="1_ender1000.jpg" id="img2" alt="" onclick="alert('onclick');" onmouseover="this.src='1_yylklshmyt20090217.jpg'" title="反转图片" /> <script type="text/javascript
随机推荐
- PHP mysql_result()函数使用方法
- Ajax实现智能提示搜索功能
- php password密码验证正则表达式(8位长度限制)
- CentOS 7.0下SVN服务器图文搭建教程
- 使用SNK密钥文件保护你的DLL和代码不被反编译教程
- 基于mysql的论坛(5)
- Document.location.href和.replace的区别示例介绍
- mysql常用函数汇总(分享)
- JavaScript之生成器_动力节点Java学院整理
- JS运行耗时操作的延时显示方法
- C++输出上三角/下三角/菱形/杨辉三角形(实现代码)
- JS判断是否360安全浏览器极速内核的方法
- 用vbs实现自动检查代理是否可用,并自动设置IE代理的脚本
- sql server不存在 sql server拒绝访问第1/3页
- jQuery验证元素是否为空的两种常用方法
- javascript实现鼠标选取拖动或Ctrl选取拖动
- 贴一个在Mozilla中常用的Javascript代码
- Windows量身定做的登录管理工具
- TCPIP基础
- 分分钟入门python语言