418:我是一个茶壶

本文是一位初学者的Python爬虫学习历程,从安装环境到编写爬虫框架,包括引入库、获取网页、解析网页、提取数据和保存数据。在实践中遇到了TypeError等bug,并逐一解决,最终实现爬取StockX上的球鞋名称和价格。虽然过程有些挫折,但收获颇丰。
摘要由CSDN通过智能技术生成

初学Python爬虫有感


前言

之前听同学说过这个爬虫,但是咱也不懂啊,插不上话,都被他装完了,所以这次暑假一时兴起就b站自学了一下,算是抛弃了一部分学算法的时间,开学打比赛就要哭了


一、准备开发环境

下载软件pycharm,python,配置python环境,这个倒挺简单

二、爬虫框架

1.引入库

代码如下(示例):

import bs4                   #网页解析,获取数据
import re                    #正则表达式,进行文字匹配
import urllib.request,urllib.error          #制定URL,获取网页数据
import xlwt               #进行excel操作
import sqlite3            #进行sqlite数据库操作

2.获取网页

先找到我们想要的网页,按F12查看网页代码,点击Network,再刷新网页,点第一个绿色条状物,查看我们的用户代理信息"User-Agent",为我们模拟浏览器访问做好准备,head里面不止"User-Agent"还有很多信息,不嫌麻烦都可以加
然后我们就可以模拟浏览器进入网页咯,我们就可以得到一个response,这个就是我们需要的网页url内容

在这里插入图片描述


3.解析网页

用bs4对我们获取到的url进行html.parser解码,这时你会得到一个html网页源码,里面就包含我们需要的内容,我们要把它提取出来


4.获取数据

用re.compile指定查找标准,查找我们所需要的内容,这其中需要用到正则表达式,那些符号有点多,有点复杂,不过掌握好了对我们查找特别有帮助


5.保存数据

这里保存数据有两种方式,一种是通过excel表保存,一种是通过数据库保存,个人感觉excel表是比较简单的,存储起来有点像二维数组,数据库存储则需要你掌握一些数据库知识,虽然数据库上学期刚学,但我已经还给老师了,不知道这学费能不能退


三、遇到的bug总结

问题1

TypeError: can only concatenate str (not “list”) to str
类型错误:只能连接str(不是“列表”)到str

debug操作:str()类型转换

问题2

TypeError: sequence item 0: expected str instance, list found
这是因为list中包含数字,不能直接转换成字符串
修改后:

insert into StockX(shoename,price)
            values(%s)'''%','.join('%s'%price for price in data)

问题3

在保存数据到数据库测试过程中,打印sql语句,insert into出现了 [ 、 ] 的符号,就是列表的符号还在,果断用replace处理,成功解决,但是应该有更好的办法,可是我不会,求大佬指点orz

问题4

TypeError: ‘str’ object cannot be interpreted as an integer
这个错误我不知道为什么会报,找半天原来是我replace语法用错了,用成了re.sub的语法,不得不说功能有点像,语法就搞混了

还有一些问题解决后忘记了,以后遇到问题一定要学会记录问题

四、爬取成果

因为我比较喜欢球鞋,所以这次就写了一个爬虫去爬取Stock X上的球鞋名字和价格,简简单单大佬勿喷orz

Stock X网页

源代码
Python运行起来速度好慢,然后等半天又告诉你出现错误,又得重新调试,唉,体验有点差
保存到数据库
保存到excel表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值