就在 6.21 号晚上六点,有一张被执行人的卡牌被拍卖,因为媒体在之前大量的宣传,导致有1.8w 人报名了这次竞拍,最后以 8700w 的价格被法院叫停。 — 拍卖链接
那么我们可以通过竞买记录,看看是不是绝大多数的人都是为了看热闹而参加了这个违法行为。
现在我们来学习怎么使用 Python 的 requests 模块将这些竞买记录爬取下来。
请求
网页等其他数据,是浏览器帮我们请求服务器,并将服务器请求过来的数据进行渲染,就得到了精美的网页,那么我们可以写一个程序代替我们去请求这些数据,并且保存下来。
requests 模块
Python 的 requests 模块就为我们提供了强大的请求服务器的一些方法。所以接下来我们使用它来完成我们对数据的获取。
首先,让我们安装这个模块,我们以管理员身份在命令行窗口中输入:
pip install requests
就可以完成 requests 的安装。
接下来让我们创建一个 python 程序,并且导入这个模块。
# auction.py
import requests
想要获取数据,第一步就是请求服务器了,请求的方式有非常多种,其中最常用的就是 GET 和 POST 请求。这边不做具体介绍,如果有兴趣可以自己再去了解一下这两个请求的区别。requests 模块提供了 get 和 post 的方法,那么我们先使用 get 请求一个网页看看吧。
url = "https://baidu.com"
resp = requests.get(url=url)
text = resp.text # 通过 requests.get 得到的对象的 text 属性就可以得到这个网页的源代码
resp.close()
print(text)
控制台输出结果:
很好,我们确实得到了一些东西。尽管现在它看起来和真正的百度的源代码不一样,少了很多,那很有可能是有反爬机制。我们先不管,至少我们成功地获取到了一些内容。这是成功的第一步。
通过上面我们可以直到,通过 requests.get() 传入参数 url 就可以完成请求一个页面,并且通过 .text 就可以获取请求的这个页面的源代码(也就是我们对一个网页鼠标右键出来的那个查