赞
踩
本人也是小白初学者,所以教程很小白,有不对的地方请指正,谢谢。
抓取步骤
1.申请高德地图API
2.新建excel文件
3.获取网页源代码
4.分析代码,找到需要抓取的内容位置特点,抓取内容
5.将抓取到的内容插入到文件中,并保存excel
6.抓取代码中的图片地址和图片,并保存
ps:防止抓取的内容缺失报错,用try跳出内容缺失部分
**1.申请高德地图API
2.新建excel文件**
import xlwt #导入excel模块
workbook_info=xlwt.Workbook() #新建一个excel文件
sheet_info=workbook_info.add_sheet('info') #新建一个sheet并命名
3.获取网页源代码
import requests #导入用来获取网页模块
import json #导入用来获取网页中的json文件
city=["上海","江苏","浙江"]
for w in city:
#keyword输入要抓取地址的关键字,city为城市(如果为单个城市的话,直接输入城市名,若要抓取多个城市,则用for循环,本例抓取多个城市)
#offset为一页显示多少条记录,page为抓取页数,key是在高德开放平台申请的API
link = "https://restapi.amap.com/v3/place/text?keywords=五金&city="+w+"&offset=20&page=1&key=(复制自己申请的API)"
#设置User-Agent,伪装成浏览器进行访问,否则会403报错
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
#获取网页
r = requests.get(link,headers=headers)
#获取网页中的json文件
decodejson = json.loads(r.text)
print(decodejson)
4.分析代码,找到需要抓取的内容位置特点,抓取内容
根据上面代码导出的结果为:
我们需要获取的信息在"pois"下,"pois"为列表中多个字典格式,我们对"pois"下的内容进行索引,并获取内容,这步的思路主要是把每个地址索引到的信息转为列表,这样我们后面编辑到excel中直接索引这些列表就行了。
其中url中的地址为图片地址,稍后另外处理。
for i in decodejson['pois']:
p=[] #新建一个空列表
#分别用索引的方式获取内容
pname=i['pname']
cityname=i['cityname']
adname=i['adname']
type1=i['type']
name=i['name']
address=i['address']
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。