zoukankan      html  css  js  c++  java
  • 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了

  • 相关阅读:
    数据库部署
    css常见问题
    extjs记录
    C#相关问题
    window疑难问题解决
    常用linq
    不同数据库之间的相互链接
    聊天数据库
    无线路由接入
    [转]如何才能让你的简历被谷歌相中
  • 原文地址:https://www.cnblogs.com/zengsf/p/9824377.html
Copyright © 2011-2022 走看看