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