这次用了BeautifulSoup库来爬取Steam的热销商品,BeautifulSoup更侧重的是从页面的结构解析,
根据标签元素等来爬取数据,这次遇到两个问题:
1.Steam热销商品列表经常有重复的,所以我建了一个列表,把爬到的数据存进去,每次爬的时候都校验跟列表里有没有重复,有的话就跳过,防止重复爬取。
2.我需要同时遍历两个表,找到了zip()函数解决方案,下面简单介绍一下。
zip()
大家看下面的实例应该就能明白。
xs = ['我是','你是','他是']
ys = ['第一','第二','第三']
for x, y in zip(xs,ys):
print(x+y)
输出结果如下:
我是第一
你是第二
他是第三
下面是完整爬虫代码,使用的库请自行安装不另做教学:
from bs4 import BeautifulSoup
import xlwt,os,time,requests
page = 1 #起始页数
total_pages = 3 #总页数,爬10页请设定为11
count = 1 #每抓到一次游戏名称增加一次,用来排序
pool=[]