學習了python之后,准備爬蟲項目練練手。簡單實現爬取網頁數據的功能,發現貓眼實時票房展示的數據樣本正好符合預期,就記錄一下之間遇到的困難與解決辦法
目標網址:http://piaofang.meituan.com/dashboard
目標數據:其中綠色框是想要獲取的數據種類,紅色框是需要獲取的具體數據
通過F12查看網頁源代碼,發現<table>標簽里就是需要獲取的數據
首先通過scrapy的shell命令:scrapy shell "http://piaofang.meituan.com/dashboard"
查看是否可以獲取數據(本人就是在此處遇到了困難,造成無法獲取動態加載的目標數據)
執行成功之后就進入了交互模式,可以獲取網頁的內容,
輸入命令:response.xpath("//div/div/div[2]/div[2]/table").extract()
可以獲取到數據的種類信息
通過命令:response.xpath("//div/div/div[2]/div[2]/div/div/table").extract()
獲取不到數據的具體數值信息:返回的數據是空的
繼續查看網頁源代碼,這些數據是實時加載的,發現數據存放在second-box這個xhr類型文件中,可以通過此處獲取數據
注:XHR到底是什么可以參照這篇文章:https://www.cnblogs.com/dengyg200891/p/6564739.html)
選擇-右擊-可以選擇復制鏈接地址:http://piaofang.meituan.com/second-box
單獨打開這個頁面地址就可以獲取到實時票房數據了。
紅色框等數據就是所需要的。只需要通過該地址獲取數據即可
這時候再通過命令進入交互模式:scrapy shell "http://piaofang.meituan.com/second-box"
通過命令: response.body。查看到具體數據信息(中文不顯示,但不妨礙獲取數據)
以上就是爬取數據的流程步驟
爬取數據功能實現地址:https://www.cnblogs.com/no-end-to-learning/p/11775865.html