用python来写一个爬虫
要爬的网站网址如下:https://lovelive.tools/
这个网页的初始页面是这样的:
点击再来一条,页面上的话语可以变换成不同的语句。
我们的目的就是把这个页面上的这些语句爬出来。
在这个页面上,如果你的键盘上F12直接表示功能键的话,就直接按F12;如果不是,需按“Fn+F12"。
右边这个页面叫开发者工具,而且在出现的这栏里还是有很多栏的,我们选择Network这一栏,因为这里都是网络请求。
此时你再点击”再来一条“,页面右侧会发生如下变化。
点击”Name"下方的“1”会出现如下界面
右侧第一条会有一个URL的网址,因为这是一个get请求,所以可以用浏览器直接打开。
将刚刚网页上的文字粘贴复制到https://www.json.cn/这个网址的左侧部分,在右侧我们可以更直观的看出这个数组里所包含的元素
我们可以看出来我们想爬出来的语句的元素名是“content”,那么我们可以开始写我们的代码了
先用import语句导入两个模块
import requests
import json
自定义变量名req
req = requests.Session()
requests库的session会话对象可以跨请求保持某些参数,说白了,就是比如你使用session成功的登录了某个网站,则在再次使用该session对象求求该网站的其他网页都会默认使用该session之前使用的cookie等参数
解析json
json_obj = json.loads(res.text)
因为这个json第一层是个数组,所以双重数组第一个中括号里写0;想要得到”content“元素,所以第二个中括号写的是content
print(json_obj[0]['content'])
return json_obj[0]['content']
用list()直接申请一个列表
contexts = list()
调用100次get_context()这个函数
for i in range(100):
contexts.append(get_context())
a的作用是打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
f = open('lovelive.txt', 'a')
将提取的100句话存入刚刚建的文本文档里
for context in contexts:
print(context, file=f)
一个爬虫就写好啦,整体代码如下
输出的效果