爬虫视频总结

从爬取淘宝保存为csv文件这个案例来讲。迫于B站视频上传C站审核不通过,只能直接上文字版链接了。
基础版写爬虫:https://www.bilibili.com/video/BV1CW411C7ZM?spm_id_from=333.999.0.0
进阶版面向对象写爬虫:https://www.bilibili.com/video/BV1VW411y7Cd?from=search&seid=2911900904516132152&spm_id_from=333.337.0.0

1、 IDE(集成开发环境)就是一个开发工具,写代码,加快开发效率,这里用pycharm
Pycharm中创建一个项目就是创建一个文件夹,里面包含.idea文件夹和venv虚拟环境,创建文件之后自动生成的两个文件夹,不能删除。
2、写代码,要有思路,有业务流程
3、爬虫原理
(1)浏览器上的信息全部是从服务器上下载(利用http请求)回来的
(2)一个页面是由多个网络资源组成的
(3)网络资源:页面、图片、视频、音频、文件、接口
想要打开一个网络资源,必须有网址,这个网址就是url,全名为统一资源定位符
(4)一次http请求只会下载一个网络资源
(5)浏览器发送http请求有先后顺序
4、爬虫就是要模拟伪装成浏览器去下载服务器上的数据,学着浏览器去下载网络资源,即学浏览器去发送请求
5、工具:谷歌浏览器,利用f12打开开发者调试工具,点击network,再按f5刷新页面
6、发送请求的时候一定要有地址就是url,发送请求的
7、网页第一次发送请求,下载回来的是html源码,通俗来讲,现在还只是一个毛坯房,我们还需要精装修
8、requests,第三方模块,是大牛写的python程序。比如,每个人买家电之后按照说明书先安装,然后看怎么使用,python只需要免费下载安装,下载安装语法:pip install requests
浏览器是发送http请求才能下载的,而爬虫为了模拟就用requests去发送get请求的
9、部分爬虫的程序请见下面的代码,中间有一句data=json.loads(data)我的出现了问题,还未解决,感兴趣的伙伴可以帮忙,也可以补全。
10、csv文件:可以新建一个文本文档,把txt改成csv就默认可以直接用excel打开了,也可以用记事本打开,此时开始写表头,中间逗号要用英文的,然后再用excel打开就变成表格了。

import requests
import re # 内库,又叫标准库,不需要安装
import json
# 爬取 淘宝 搜索后的结果 保存为csv文件
# 1、下载搜索页面的html源码
# url 网址
index_url='https://s.taobao.com/search?q=python&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.jianhua.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306'
# 发送http请求 下载
response=requests.get(index_url)
# 加.text是因为我们下载回来的是源码,文本格式的
html=response.text
# 2、提取信息,从html中提取需要的信息,要用到正则表达式,所以要导入re这个内库,是python自带的库,也可用xpath提取信息
# 提取信息的基本框架:re.findall(r'从哪里开始 (.*?) 到哪里结束',html,re.s)[0]    .代表匹配任意字符,*代表匹配多个,?代表非他能匹配,()代表反向捕获,
data=re.findall(r'g_page_config = (.*?);',html,re.S)
# 现在拿到的数据不规范,属于一个json数据,json数据中没有分号,还有很多空格,所以要去掉
# 去掉首尾的非法字符,比如空格、分号、回车
data=data.strip(' ;\n')
# 转换成字典(键值对),所以要导入json内库
data=json.loads(data)#这句有错
print(data)
# 取出商品列表数据
data=data['mods']['itemlist']['data']['auctions']

# 3、保存数据,即数据持久化
# 出路每个商品的数据
goods_info=[]
for item in data:
    temp={
        'title':item['title']

    }
fb=open('csv文件名','w',encoding='utf-8')
# 写表头
fb.write('标题,标价,购买人数,是否包邮,是否天猫,地区店名,url\n')
print(data)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值