Python网络爬虫案例实战:动态网页爬取:动态爬取淘宝网实例
之前爬取的网页均为静态网页,这样的网页在浏览器中展示的内容都在HTML 源代码中。但是,由于主流网站都使用JavaScript展现网页的内容,和静态网页不同的是,在使用JavaScript时,很多内容并不会出现在HTML 源代码中,所以爬取静态网页的技术可能无法正确使用。因此,需要用到动态网页爬取的两种技术:通过浏览器审查元素解析真实网页地址和使用 selenium模拟浏览器的方法。
动态爬取淘宝网实例:
相对于使用Ajax而言,传统的网页如果需要更新内容,就必须重载整个网页。因此,Ajax使得互联网应用程序更小、更快、更友好。但是,Ajax网页的爬虫过程比较麻烦。
首先,让我们来看一个动态网页的例子。打开淘宝网,地址为https://trade.taobao.com/trade/trade_success.htm?alipay_no=2019052322001100071037033770&.seller_id=
2088802741478045&.biz_order_id=454980960323929555#RateIframe,如图4-1所示,其中的待评论数据就是用JavaScript加载的,这些评论数据不会出现在网页源代码中。
为了验证页面下面的待评价是用JavaScript加载的,可以查看此网页的网页源代码,如图4-2所示。
如果使用Ajax加载的动态网页,怎么爬取里面动态加载的内容呢?有以下两种方法:
(1)通过浏览器审查元素解析地址。
(2)通过 Selenium 模拟浏览器爬取。下面分别进行介绍。