其实如果是一直关注本站的读者会知道,其实这里最早只是一个做我的世界服务器的官网,虽然说我现在服务器也在开着,但是当时不知道哪根经抽了,就把这个当成博客了,不过其实还是关注着我的世界的。

先说一下任务,目前呢在网络上搜索我的世界id的话,会发现ne那个搜到的大多都是好多年以前的内容了,比如说那张我记的好久好久好久以前就存在的id对照图。python爬虫爬取我的世界id对照

就是这张,影响深刻,但是实际上随着年份的增加,我的世界的版本更新还是蛮快的,一些新的内容在这上面就找不到了,所以就萌生了一个做id对照的网站的想法,但是数据从哪来呢?答案当然是百度,通过百度的查询我发现了一个老外的id站做的很不错,所以呢,目标就设定为他,使用python爬虫将我需要的数据爬取下来。
不过其实在最终目标确定前,还有一个其他的目标也可以操作一下,不过那个内容相对较落后了,所以还是选择了第一个选定的目标。
我们先看一下该网站,分析一下。
python爬取我的世界id

很简单的构造,就是中间内容然后上下都是些介绍之类的,然后我们发现他这个一个页面显示一点点内容,获取所有的内容是需要翻页的,但是我搜索了半天确实没找到,应该是写在了js文件里,因为我看到他调用了好多js文件,不过我并没有去找里面有没有跳转链接,当时其实想是,你不论怎么说其实内容也就那么一点,大不了我直接把每个链接保存下来嘛。结果翻页的时候看了一下,发现他的链接很简单,就是把之前那一页加上了/?加上了数字,代表页码,很舒服。
直接通过for循环就可以爬取每个链接了,然后看了一下一共8页。所以循环从rang(2,9)为什么从2开始呢,是因为他第一页没写页码,相对简单的方法就是循环还是rang(1,9)然后呢,我们设置个判断,如果是1的话链接设置为首页就行了,不过我当时懒,直接复制出来了一份,先把第一页爬出来再循环其他的页面。import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'
}
url = "https://minecraftitemids.com/"#2 3 4 5 6 7 8
r = requests.get(url, headers=headers)
neirong = r.text
soup = BeautifulSoup(neirong, "lxml")
wenzi = soup.table.get_text()
length = len(wenzi)
with open("mclist.txt", 'a', encoding='utf-8') as file_object:
n = 1
for i in range(0, length, 20):
file_object.write((wenzi[i:i+20]))
if n == 10:
file_object.write('n')
n = 0
n += 1
for a in range(2, 9):
newurl = url+str(a)
r = requests.get(newurl, headers=headers)
neirong = r.text
soup = BeautifulSoup(neirong, "lxml")
wenzi = soup.table.get_text()
length = len(wenzi)
with open("mclist.txt", 'a', encoding='utf-8') as file_object:
n = 1
for i in range(0, length, 20):
file_object.write((wenzi[i:i + 20]))
if n == 10:
file_object.write('n')
n = 0
n += 1
print("爬取完成")

可以看到我们利用了两个库,requests大家都清楚,BeautifulSoup这个库也是一个非常实用的库,看过前面文章的都知道,我写的那个爬取知乎文章的爬虫也利用了这个库,比较适合抓取内容。知乎爬取全部内容
知乎爬取单页内容
感兴趣的可以了解一下,通俗易懂,哈哈。然后呢,这个其实也就没啥好讲的了,也就是最后写入文件的地方可以说一下啊,为什么要加一个循环,这是因为如果不加循环的话,他写入的内容是一行文字,当然如果你用记事本看的话,开个自动分行就好了,但是我想直接写入的内容就是分好的,所以就加了个循环,每循环10次换一下行,结果还可以吧就是有点乱,需要调整一下。
好了,文章就到这里了,如果有什么不懂的请在评论区留言,我会在看到的第一时间进行回复的。

最后修改:2021 年 04 月 20 日 08 : 52 AM
如果觉得我的文章对你有用,请随意赞赏