国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python - 請教這個頁面中的這兩個信息能否不用無頭瀏覽器爬取到?

瀏覽:120日期:2022-09-22 16:46:47

問題描述

在爬取'http://www.haodf.com/doctor/DE4r08xQdKSLBVM8i9sHYQ8uQGIO.htm'這個頁面的時候, 發現'擅長'和'執業經歷'這兩個信息通過beautifulsoup是取不到的, 我選取這兩個信息的代碼如下:

soup.select(’#full_DoctorSpecialize’).get_text(strip=True)soup.select(’#full’).get_text(strip=True)

查詢頁面發現這兩個信息好像是通過JS查詢的結果, 除了把網頁全部正則表達式匹配的方法, 請教各位: 1, 這兩個信息能否直接取到? 2, 除了類似'Selenium'這樣的工具, 是否還有其他方式能夠取到這兩個信息?3, 能否通過分析查詢接口的方式解決?

謝謝

問題解答

回答1:

可能這個頁面,你要抓的這個數據,是頁面加載后,使用js渲染出來的。也就是說,這個#full_DoctorSpecialize里面的數據是ajax,從服務器上拿回來的。具體要如何拿這樣的數據,你可以百度下 phantomjs ,你一定會 有收獲 的。

回答2:

這2個信息可以直接獲取,只是信息包含在JS塊中BigPipe.onPageletArrive({這個里面}) , 可以通過正則表達式獲取。這個里面是一段JSON格式的字符串。匹配之后轉換為json還是很容易處理的。想要通過查詢接口獲取的話,應該是可以的,不過得分析JS代碼,這個太麻煩,可以通過抓包工具來抓它的http請求。然后看看是那個請求返回的數據。相比較而言還是寫正則匹配比較快。

回答3:

這個就像樓上說的是js渲染的,內容在js代碼里面,可以正則匹配js代碼里面的元素,得到你想要的信息

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 德惠市| 景洪市| 龙海市| 汶川县| 定结县| 永新县| 潮州市| 乌拉特中旗| 大埔县| 梁山县| 卓尼县| 大新县| 苏尼特左旗| 靖远县| 海盐县| 广安市| 泾阳县| 西丰县| 准格尔旗| 涞源县| 封开县| 铜陵市| 尚义县| 临武县| 唐海县| 金堂县| 循化| 新源县| 康马县| 偏关县| 克山县| 刚察县| 扎赉特旗| 德保县| 寿光市| 饶平县| 监利县| 绩溪县| 微山县| 高雄县| 蒙城县|