这个一个爬去美团的例子,应为数据都是在script中,小心封ip,尽量少运行。
先导入库几个库
import requestsfrom bs4 import BeautifulSoupfrom lxml import etreeimport js2xml
发送请求,获取到script里面的数据
url = "https://sz.meituan.com/meishi/"headers = {}response = requests.get(url, headers = headers)content = response.textbs = 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库
原文地址:https://www.cnblogs.com/zengsf/p/9824377.html