python爬取數據,python 批量自動搜索、自動抓取需要的信息簡單教程【selenium】

 2023-10-21 阅读 29 评论 0

摘要:文章目錄一、安裝selenium以及Chrome二、XPath技術和正則表達式技術三、獲取網頁某個位置的xpath四、一個簡單的示例selenium庫的更多功能和函數,需要自己進一步學習 本文主要使用工具為selenium,并以Chrome瀏覽器為例。 python爬取數據,selenium是為web自動化

文章目錄

  • 一、安裝selenium以及Chrome
  • 二、XPath技術和正則表達式技術
  • 三、獲取網頁某個位置的xpath
  • 四、一個簡單的示例
  • selenium庫的更多功能和函數,需要自己進一步學習

本文主要使用工具為selenium,并以Chrome瀏覽器為例。

python爬取數據,selenium是為web自動化測試開發的,可以模擬任何網頁操作,學會了,不僅可以爬取信息,還可以重復做各種無腦網頁操作。

selenium適合爬取動態網頁,所見即所得,雖然慢了些。有人不喜歡,但個人覺得挺方便的,因為不用學習復雜的各種網頁解析技能。但有些反爬網站,針對selenium的,那就得換工具了。

但對于致力于學習爬蟲的小伙伴,不建議學這個。老老實實學爬蟲該學的各種技術,能夠進行大規模甚至并行乃至分布式爬取。

python爬取網站?靜態網頁的話,爬取較為簡單。教程很多。

一、安裝selenium以及Chrome

教程鏈接
注意:
使用不同的瀏覽器,需要配置不同的瀏覽器驅動。

二、XPath技術和正則表達式技術

需要學習XPath技術和正則表達式技術,xpath能夠讓程序快速定位,正則表達式打輔助,用來進一步提取需要的信息。

三、獲取網頁某個位置的xpath

python爬蟲教程,Ctrl + shift + c 打開網頁源代碼,用鼠標左鍵選擇網頁中你想定位的地方,源代碼對應位置會高亮。鼠標右鍵點擊高亮的代碼,復制xpath

注意:
直接復制的xpath pattern雖然能用,但比較死板不夠靈活,網頁的結構發生微小的變動,就無法定位了。需要自己進一步根據網頁源代碼改寫xpath路徑。找出源碼中不變的xpath pattern用來定位。

四、一個簡單的示例

from selenium import webdriver
import pandas as pd
import numpy as npquery_list = ['deep learning']result_list = []
failed = []
driver = webdriver.Chrome()for query_text in query_list:try:driver.get('https://www.google.com')driver.implicitly_wait(1)# 定位搜索框,并輸入查詢詞driver.find_element_by_xpath('/html/body/div[1]/div[3]/form/div[2]/div[1]/div[1]/div/div[2]/input').send_keys('%s\n' % query_text) # 這里的xpath就是右鍵復制過來的except:result_list.append(np.nan)continuetry:res = driver.find_element_by_xpath('//*[@id="wp-tabs-container"]/div[1]/div[3]/div/div/div/div[2]/h2/span').text # 這里的xpath就是右鍵復制過來的result_list.append(res)except:result_list.append(np.nan)res = pd.DataFrame({'drug_name': query_list,'result':result_list})print(res)

selenium庫的更多功能和函數,需要自己進一步學習

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/153548.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息