帮我写一个爬虫代码,可以获得扬州好吃的小店
时间: 2024-04-13 17:25:01 浏览: 15
当然可以帮你写一个爬虫代码来获取扬州好吃的小店。以下是一个示例代码,你可以根据需要进行修改和优化:
```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信息。
请注意,网站的结构和页面元素可能会发生变化,导致代码无法正常工作。如果出现问题,你可能需要根据实际情况调整代码。另外,请确保你的爬虫行为符合网站的使用条款和政策。