- 一些需要用到的官方网站
Request库的官方网站.
BeautifulSoup库的官方网站.
正则表达式的参考网站.
一篇较为详细的正则表达式博客.
第一步
- 在抓取一个网站之前首先要看看这个网站是否有爬虫协议,查看的方法是在url后加robots.txt,看看所爬取的内容是否被允许。
- 然后使用request库中的get方法
r = requests.get('https://api.github.com/events')
- 然后看一下状态码是否正常或者使用Request库中内置的状态码查询对象查看爬取是否成功,就像下面这样。
>>> r.status_code == requests.codes.ok
True
- 通过访问r.text便可以得到所请求的url的代码。
第二步
- 爬取到网站的源代码之后接下来就需要进行源代码的解析工作,利用Beautifulsoup库中的构造函数生成一个Beautifulsoup实例
soup = BeautifulSoup(r.text,"lxml")
- 其中BeautifulSoup()函数中的第二个参数为指定的解析器“lxml”指的是html的解析器,然后利用find_all()函数找所需要的特定片段,在接下来的例子中我利用的是span标签以及short属性特征进行解析的。
pattern = soup.find_all('span','short')
由于find_all方法返回的是一个列表,使用for循环遍历列表然后访问列表元素的string属性便可以打印出我们所需要的信息了