前排高亮!!!!请不要移动帖子,我这帖子就是发咱们广场的!有大佬赏赐我大把jc鼓励我,我赶了很久赶出来一贴基础教学来回报大家。我之所以讲爬虫是因为咱们可能用得到,而且我在学校那节爬虫课老师不在我课代表替她讲的。
上课之前请确保(不确保也行)您的电脑上已经安装了新版Python(怎么也得是3以上吧),已经有正常的环境(我推荐anaconda,我就用的这个,你用pycharm或者别的啥我也没意见,但是因为我没用过那些所以可能无法解决你的问题。)
顺带声明:禁止使用这些东西去破坏别人的网站!!!!!!!!!
下边我迅速解释一下咱们爬虫的原理,爬虫的基本原理是通过HTTP协议向Web服务器发送请求,获取Web页面的内容并提炼关键信息。
下边我们可能会运用到各类库,安装这些库的方式很简单,我们的先辈把这些库早都摸透了。一句话,在你的cmd命令框里输入
pip空格install空格库名,然后回车就可以等待安装了。
(前排警告,我不能保证在安装库期间不会出什么问题,这种问题概率极小,但据网上网友说有可能会炸电脑,但反正我没见过)在安装期间因为大家电脑配置系统肯定不一样对吧,如果弹出任何错误,比如超时,pip版本过低之类的,请先把你的错误打到百度里搜索一下看看咱们前辈有没有留下解决办法。
常见爬虫流程(略,你们不深入研究没必要知道这东西,老长了,而且非专业人士大概率听不懂)
下边介绍一下常用的库(基本写个爬虫都要用)
Requests:一个Python第三方库,可以处理HTTP请求和响应。
BeautifulSoup:一个Python的HTML/XML解析器库,可以快速解析页面中的元素。
如何确定你已经安装了他们呢?输入这一串
import requests
from bs4 import BeautifulSoup
import selenium
print(“ok”)
只要没报错,你就安装好了这几个库。
第一步,先确认你到底想爬那个网站?在我们使用代码爬取数据之前,我们需要了解到,我们的数据在对应服务器的哪一个网页以及客户端是通过哪一个请求头获取的数据。客户端每一次的请求都只能获取原网页的一部分!!!!数据。互联网上的每个文件都有一个唯一的URL
而如果原网页中没有的数据是无法通过Python爬取获得的。
现在找到了网页,但是我们又面临着一个问题,那就是如何找到该网页的数据对应的客户端的请求头呢?刚刚已经介绍过,每一次的请求都只是请求当前页面的一部分数据,大把的数据构成了我们的页面,只有我们找到了最精确的请求头,这样我们用解析的时候才可以极大的简化我们的分析工作。
下边放具体步骤
1:打开程序员调试窗口,即右击鼠标或按下键盘F12键。
2:在打开的程序员调试窗口,点击网络(Network)并刷新当前页面,刷新后可以看见一长串的请求,每一个都对应着网页中一部分数据。
3.任意复制原网页中的部分数据,点击搜索符号,搜索后就会出现对应的请求,点击请求可以查看具体杂乱无章的json数据。
(有毒吧,咱论坛图片拢共不能超过100k?我一张截图都放不上来。)
找到请求头后,我们便可以编写Python代码来爬取我们所需要的数据了,具体代码如下所示:#是我写的注释!敲代码可以省略。
import requests
# 设置headers是为了防反爬机制
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'}#这里这么一串什么Mozilla是固定的,你就记住这么打就对了!user-agent不对会被当成非法访问!!!
url = #跟你要爬的网址有关,你爬啥粘贴啥
resp = requests.get(url, headers=headers)
# 打印输出
print(resp.text)
哎呦累死我了,敲了1个小时,咱论坛图片我还发不上来只能组织我匮乏的语言描述场景。
接下来你会得到该网站几乎所有的信息。具体问题请大家具体分析,比如你爬了个京东的商品信息,那么显然你得到的信息格式和你爬游戏网站的信息完全不一样,这里不再统一讲述。
我要歇会,累炸了