python 爬虫 获取window\.__INITIAL_STATE__=的信息

该博客介绍了如何利用Python的requests库获取网页内容,然后通过正则表达式匹配`window.__INITIAL_STATE__`的数据,并使用json.loads转换为Python对象。内容涉及网络爬虫与前端数据抓取的基本技巧。
摘要由CSDN通过智能技术生成
import requests
import re
import json
r = requests.get(url)
a = re.search(r"window\.__INITIAL_STATE__=(.*?);", r.text).group(1)
print(json.loads(r))

要点:从window\.__INITIAL_STATE__=;之间的数据都是json数据。
json.loads会自动将false转为False, true转为True

参考:https://www.5axxw.com/questions/content/6qee69

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以帮你写一个爬虫代码来获取扬州好吃的小店。以下是一个示例代码,你可以根据需要进行修改和优化: ```python import requests import json def get_good_restaurants(): url = "https://www.dianping.com/yangzhou/ch10/g110" # 扬州美食页面URL headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" } response = requests.get(url, headers=headers) if response.status_code == 200: # 提取页面中的json数据 start_index = response.text.find('window.__INITIAL_STATE__=') + len('window.__INITIAL_STATE__=') end_index = response.text.find('};(function() {var s;try {') json_data = response.text[start_index:end_index+1] # 解析json数据 data = json.loads(json_data) restaurant_list = data["searchResult"]["mainRegion"]["businesses"] good_restaurants = [] for restaurant in restaurant_list: name = restaurant["name"] rating = restaurant["rating"] good_restaurants.append({"name": name, "rating": rating}) return good_restaurants return None if __name__ == '__main__': restaurants = get_good_restaurants() if restaurants: for restaurant in restaurants: print(restaurant["name"], restaurant["rating"]) else: print("获取数据失败") ``` 这个代码使用了`requests`库发送HTTP请求,并通过解析页面中的JSON数据来提取美食店铺的信息。它会向大众点评的扬州美食页面发送请求,并解析返回的页面内容。你可以根据需要调整URL和headers中的User-Agent信息。 请注意,网站的结构和页面元素可能会发生变化,导致代码无法正常工作。如果出现问题,你可能需要根据实际情况调整代码。另外,请确保你的爬虫行为符合网站的使用条款和政策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值