爬虫更新计划-1

时间:2022-07-23
本文章向大家介绍爬虫更新计划-1,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

类似简介的废话

回过头看自己以前写的那些练手的爬虫,简直不要太辣鸡,所以就想着开个坑,有时间就把那些辣鸡代码都给更新或者重写一遍

程序名:steam优惠爬虫

这个爬虫原本的功能是只爬取有优惠的游戏名字,因为价格那个地方比较难爬,所以只有游戏名,而且游戏名也是不全的,因为游戏名有一些特殊字符,而编码貌似不是 utf-8,所以导致出错,原来的版本中,出错了就直接下一个了,一点都不厉害,所以稍微修改了一下

修改的有如下两点

  • 游戏名都爬取下来了
  • 有原价和打折的对比

steam的价格这部分比较恶心,所以我这里用了新方法来获取这两个的价格

money=soup.find_all("div",class_="col search_price discounted responsive_secondrow") #原价+打折后
emoney=soup.find_all("strike") #原价

首先先获取这两个价格

for i in money:
    #获取文本
    i=i.get_text() 
    discount=emoney[a].get_text()
    contest=contents[a].get_text()

    i=i.replace(discount,'') #原价+打折后的价格,通过replace来将原价删除,只剩打折后
    ym=re.findall('d+',i) #正则匹配数字,原价
    dm=re.findall('d+',discount) #打折后

接着直接用减法(也就是replace()替换了)得到了打折后的价格,最后在用re匹配数字,因为 这个符号,爬取后也是乱码,所以这样也避免了乱码出现在数字前面的问题

之前写入文件的时候,因为编码问题报错,用了一大堆的 replace()来替换,这次直接

file = open("steam.txt","a",encoding="gb18030")

就可以把文本输入到txt里了

后台回复 steam优惠爬虫获取链接