设为首页 加入收藏

TOP

Python爬虫(学习笔记)(六)
2023-07-23 13:45:23 】 浏览:96
Tags:Python 爬虫 习笔记
einv/'

if not os.path.exists(folder):

    os.mkdir(folder)

#指定URL

url='https://m.woyaogexing.com/tupian/z/meinv/'

#解析正则表达式

ex='" data-src="(.*?)" />'

#src="//img.woyaogexing.com/images/grey.gif" data-src="//img2.woyaogexing.com/2022/07/03/ecb599c9ffa42f2f!400x400.jpg" />

#解析获取图片url列表

text=requests.get(url=url,headers=headers).text

image_list=re.findall(ex,text,re.S)

 

print(image_list)

#遍历图片URL

for src in image_list:

    src='https:'+src #生成完整路径

    img_data=requests.get(url=src,headers=headers).content #读取图片的二进制数据content

    name=src.split('/')[-1] #从路径获取图片名称

    path=folder+name #写入文件路径

    with open(path,'wb') as fp:#打开文件

        fp.write(img_data) #写入数据

        print(name,'保存成功')#打印日志

n 导入包

n UA伪装

n 创建文件夹存储图片

 

n 指定URL

n 读取页面所有内容

 

 

n 根据页面格式,编制正则表达式

n 通过正则表达式,解析页面内容获取图片url

 

 

n 遍历所有图片url

n 读取图片二进制数据

 

n 图片数据持久化存储

 

 

聚焦爬虫,爬取页面中指定的页面内容,例如豆瓣中评分>9的电影;

数据解析:从整个页面中获取所需的部分信息;

数据解析分类:

  • 正则
  • bs4-beautiful Soup
  • xpath-通用性强

数据解析原理:

解析的局部的文本内容都会在标签之间或者标签对应的属性中进行存储;

1 进行指定标签的定位

2 标签或者标签对应的属性中存储的数据值进行提取(解析)

爬取肯德基餐厅数据

import json#导入包

import  requests

#指定URL

url='http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'

add='南昌'#指定参数

params={

'cname': '',

'pid': '',

'keyword': add,

'pageIndex': 1,

'pageSize': 10,

}#UA伪装

headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0'}

#发起请求

response=requests.post(url=url,headers=headers,params=params)

json_obj=response.json()#获取数据

print(json_obj)

with open('kfc_'+add+'.json','w') as fp:

    json.dump(json_obj,fp=fp)

#数据持久化保存

print('成功保存')

requests爬虫流程

 

1导入包

 

2 指定url(通过F12调试查看)

 

3指定参数(通过F12调试查看)

 

4指定UA(UA伪装)

 

5发起请求get/post

 

6获取数据

 

7数据持久化保存

 

首页 上一页 3 4 5 6 下一页 尾页 6/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇科技报告数据语料处理(关键词、.. 下一篇Python绘制饼状图对商品库存进行..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目