python爬网站数据实例-python requests爬取高德地图数据的实例

如下所示:

1.pip install requests

2.pip install lxml

3.pip install xlsxwriter

import requests #想要爬必须引

from lxml import html #这个是用于页面爬取

import xlsxwriter#操作Excel表格库

workbook = xlsxwriter.Workbook('E:/test/test.xlsx')# 新建的Excel表格文档路径

worksheet = workbook.add_worksheet() # 建立sheet, 可以work.add_worksheet('employee')来指定sheet名,但中文名会报UnicodeDecodeErro的错误

i = 1;# 作用于Excel表格第几行数与接口第几页

#写一个死循环让他一直爬取数据

while (True):

import json# 这里这么引入json是因为不这么引入当循环到第二次就会报没有引入json的错,所以循环引入了

#接口str(i)表示第几页一定要转为字符串格式,要不会报不是字符串的错

url = "https://www.amap.com/service/poiInfo?query_type=TQUERY&pagesize=20&pagenum="+str(i)+"&qii=true&cluster_state=5&need_utd=true&utd_sceneid=1000&div=PC1000&addr_poi_merge=true&is_classify=true&zoom=14.81&city=110000&geoobj=115.7|39.4|117.4|41.6&keywords=水果店"

# 将cookies字符串组装为字典

cookies_str = "guid=f86f-79f2-5b0b-69a3; UM_distinctid=16386a114ca143-07312d6ae4d5af8-47534130-1fa400-16386a114ccb85; CNZZDATA1255626299=1778515027-1526967763-https%253A%252F%252Fwww.baidu.com%252F%7C1527219534; cna=5hWHEx7lRkECAXL4l+2LMAfU; isg=BGBg3rAqL6QOz5OkNN5wbxWiMm7ywUxc_zvQMtpxLHsO1QD_gnkUwzbHaf3V_vwL; _uab_collina=152697209566826431413694; key=bfe31f4e0fb231d29e1d3ce951e2c780"

cookies_dict = {}

for cookie in cookies_str.split(";"):

k, v = cookie.split("=", 1)

cookies_dict[k.strip()] = v.strip()

pass

# 其他请求头参数

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'

}

# 让服务器认为你是通过浏览器访问页面

page = requests.get(url=url,cookies=cookies_dict,headers=headers);

# 转json

json = json.loads(page.text);

# 判断这个字段如果为未找到相关信息则跳出死循环

if json['data']['lqii']['change_query_tip'] == '未找到"水果店"相关结果':

break;

pass

# 获取json长度用于添加Excel第几行

length = len(json['data']['poi_list']);

# 循环json数据向Excel表格添加

for index,j in enumerate(json['data']['poi_list']):

worksheet.write(index+(i-1)*length,0,j['disp_name'])

worksheet.write(index+(i-1)*length,1,j['tel'])

worksheet.write(index+(i-1)*length,2,j['address'])

pass

i+=1

pass

workbook.close()#最后关闭Excel表格 注意事项,当Excel表格正在打开的情况下会报没有关闭的错所以请关闭Excel再运行此程序

以上这篇python requests爬取高德地图数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍一下如何使用 Python 虫来爬取房产数据并保存到本地。 首先,您需要选择一个合适的网站来进行爬取。例如,可以选择链家网、安居客等房产网站。然后,您需要分析该网站的页面结构和数据请求方式,确定需要爬取哪些数据,以及如何获取这些数据。 接着,您可以使用 Pythonrequests 库来发送 HTTP 请求,获取网页内容。然后,可以使用 BeautifulSoup 库来解析网页内容,提取需要的数据。 最后,您可以使用 Python 的 Pandas 库将数据保存到本地的 Excel 或 CSV 文件中。以下是一个示例代码: ```python import requests from bs4 import BeautifulSoup import pandas as pd # 发送 HTTP 请求获取网页内容 url = 'https://bj.lianjia.com/ershoufang/' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.content, 'html.parser') # 解析网页内容,提取需要的数据 house_list = soup.find_all('div', {'class': 'info'}) data = [] for house in house_list: name = house.find('div', {'class': 'title'}).text.strip() price = house.find('div', {'class': 'price'}).text.strip() area = house.find('div', {'class': 'houseInfo'}).text.strip() data.append([name, price, area]) # 将数据保存到本地文件 df = pd.DataFrame(data, columns=['名称', '价格', '面积']) df.to_excel('house_data.xlsx', index=False) ``` 这是一个简单的示例代码,您可以根据您需要爬取数据网站的不同来进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值