序:
一直对数据分析有一种向往,但很少有机会接触。今日在空闲时间里简单学了一下爬虫的基本功,在这里和大家一起分享!
爬虫:
所谓爬虫,就是从指定的网站上抓取一定的数据。无非就是三板斧,构建网络链接、抓取数据、存储数据。我们这里以本人的csdn主页作为实验网址(希望csdn没有robot协议,如果有的话这样有可能会违法)
我想抓取我最新文章的标题“桥牌坐庄训练bm2000 level3闯关记录——A2”,这怎么办呢?我们一步一步来探讨。
实验环境:
anaconda jupyter notebook python 3
构建网络链接:
#建立网络连接
import requests
from bs4 import BeautifulSoup
link = "https://bridge-killer.blog.csdn.net/"
headers = {'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
r = requests.get(link, headers = headers)
soup = BeautifulSoup(r.text, "html.parser")
如上图,request用来抓取网址,而beautifulSoup则把简化从王爷中抓取数据的过程。link表示网址,headers用来假装自己是个浏览器(这样有利于逃过网址的robot审查),r获取网页的html,而soup将html中的数据简化。
我们运行一下上述代码:
隐隐约约已经看到我的签名了hhh
抓取数据:
首先,我们要定位数据,这就需要我们查看网页的源码,找到想抓取数据的信息。我们首先在我的主页那里点击右键,并找到“检查”,点击检查可以得到如下界面。
然后,我们通过检查界面左上角的点击按钮,点击我的最新的文章的标题,可以定位到对应的代码段:
根据检查的结果,我们可以写出如下代码:
#抓取信息
title = soup.find("div", class_ ="blog-list-box-top").text
print(title)
上面代码找到我最新文章的标题的标识幅,包括div以及对应的类,我们运行上述代码:
果然,第一篇文章的标题就抓取下来了
存储数据:
最后,我们通过建立新文件的方式将抓取的数据存入一个txt,代码如下:
#保存数据
with open('C:\\Users\\009\\Desktop\\crawler.txt', "a+") as f:
f.write(title)
运行之后,我们就可以在桌面发现这个文件了
在txt中可以获取爬虫爬下来的数据
总结:
本小白还处于爬虫学习初级阶段,有什么操作不当的地方欢迎大家在评论区提出!