scrapt中的数据提取,采用js2xml库
Posted zengsf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapt中的数据提取,采用js2xml库相关的知识,希望对你有一定的参考价值。
这个一个爬去美团的例子,应为数据都是在script中,小心封ip,尽量少运行。
先导入库几个库
import requests from bs4 import BeautifulSoup from lxml import etree import js2xml
发送请求,获取到script里面的数据
url = "https://sz.meituan.com/meishi/" headers = {} response = requests.get(url, headers = headers) content = response.text bs = BeautifulSoup(content, "lxml") l = bs.select("body script")[13].string #获取到body中第十三个script里面的数据
然后在利用js2xml方法格式化之后再利用xpath来提取数据
src_text = js2xml.parse(l, encoding=‘utf-8‘, debug=False) print(type(src_text)) src_tree = js2xml.pretty_print(src_text) print(src_tree) selector = etree.html(src_tree) content = selector.xpath(‘//property[@name="poiId"]/number/@value‘) name = selector.xpath(‘//property[@name="title"]/string/text()‘)
就ok了
以上是关于scrapt中的数据提取,采用js2xml库的主要内容,如果未能解决你的问题,请参考以下文章
Js2XML 在转换为 XML 时返回了额外的“item”标签
Android 逆向修改运行中的 Android 进程的内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝 Android 平台可执行文件和动态库到 /data/system )(代码片
Android 逆向Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )(代码片