用 selenium 和 python 抓取

我试图将我的脚趾浸入硒的世界,但我在理解事物的工作原理时遇到了问题。


首先,我只是想学习抓取网站。


以这个网站为例


https://udemycoupons.me/


我希望能够抓取所有可用的优惠券并返回:标题、日期、url 链接。


现在我可以在 BeautifulSoup 中使用


search_coupon = soup.find_all('div',{'class':'td_module_1 td_module_wrap td-animation-stack'})


for coupon in search_coupon:

    coupon_title = coupon.find('h3',{'class':'entry-title td-module-title'}).text

    coupon_date = coupon.find('span',{'class':'td-post-date'}).text

    coupon_url = coupon.find('a').get('href')

    print(coupon_title, coupon_date, coupon_url)

我如何使用硒来做到这一点?


我似乎无法以同样的方式检索对象


SMILET
浏览 194回答 2
2回答

智慧大石

你可以从:# Definning some basic functions for later usagedef clickOnId(id):    browser.find_element_by_id(id).click()def clickOnXpath(xpath):    browser.find_element_by_xpath(xpath).click()def clickOnClass(class_name):    browser.find_element_by_class_name(class_name).click()def TypeInId(id,toBeTyped):    elems = browser.find_elements_by_id(id)    elems[0].send_keys(toBeTyped)def TypeInXpath(xpath,toBeTyped):    elems = browser.find_elements_by_xpath(xpath)    elems[0].send_keys(toBeTyped)并查看此代码以进入 selenium。

蝴蝶不菲

要将 selenium 用于浏览器自动化,首先,您需要下载适用于 Firefox 的chromedriver.exe或geckodriver.exe,并将其保存到某个位置。其次,创建一个变量来保存浏览器 webdriver 路径,例如,driver = webdriver.Chrome(executable_path=r'C:/path/to/chromedriver.exe')第三,定义空列表来保存您从网络上抓取的每个属性的数据。像这样的东西,coupon_title=[] #List to store coupon title。原因是,如果您有兴趣稍后将此数据保存到数据框中以供进一步分析。下面给出了一个最小的可重现示例:from bs4 import BeautifulSoupfrom selenium import webdrivercoupon_title=[] #List to store coupon titlecoupon_date=[] #List to store coupon datecoupon_url=[] #List to store coupon urldriver = webdriver.Chrome(executable_path = r'C:/temp/chromedriver.exe')driver.get("https://udemycoupons.me/")content = driver.page_sourcesoup = BeautifulSoup(content, 'html.parser')soup.prettify()search_coupon = soup.find_all('div',{'class':'td_module_1 td_module_wrap td-animation-stack'})for coupon in search_coupon:    coupon_title = coupon.find('h3',{'class':'entry-title td-module-title'}).text    coupon_date = coupon.find('span',{'class':'td-post-date'}).text    coupon_url = coupon.find('a').get('href')    print(coupon_title, coupon_date, coupon_url)结果是:哈佛在线免费课程 | 65 门免费课程 2020 年 4 月 26 日 https://udemycoupons.me/harvard-free-course-online/ 750 门免费 Udemy 课程 | 2020 年 4 月更新 2020 年 4 月 13 日 https://udemycoupons.me/750-free-udemy-course-apr-2020-updated/ 100% 免费 Udemy 优惠券 | 如何在 TikTok 上赚钱 2020 年 5 月 24 日 https://udemycoupons.me/100-free-udemy-coupon-how-to-make-money-on-tiktok/ 100% 免费 | JSON – JSON 数据 JavaScript 快速介绍... 2020 年 5 月 24 日 https://udemycoupons.me/100-free-json-quick-introduction-to-json-data-javascript-using-json/ 100% 免费 Udemy 优惠券| 完成社交媒体营销 2020 年 5 月 24 日 https://udemycoupons.me/100-free-udemy-coupon-complete-social-media-marketing/ 100% OFF Udemy 优惠券 | 2020 年数字战略成功 2020 年 5 月 24 日 https://udemycoupons.me/100-off-digital-strategy-success-2020/ 100% OFF | 使用 Python 进行时间序列分析和预测 2020 年 5 月 24 日 https://udemycoupons.me/time-series-analysis-and-forecasting-using-python-100-off/ 100% OFF | 在家工作的工具 – Google Apps,... 2020 年 5 月 24 日 https://udemycoupons.me/100-off-tools-for-working-from-home-google-apps-trello-zoom/ 100% 折扣 | 机器学习基础知识:逻辑回归、LDA 和 KNN ... 2020 年 5 月 24 日 https://udemycoupons.me/machine-learning-basics-logistic-regression-lda-knn-in-r/ 100% 折扣 | CNN 使用 Keras 和 TensorFlow 进行计算机视觉... 2020 年 5 月 24 日 https://udemycoupons.me/100-off-cnn-for-computer-vision-with-keras-and-tensorflow-in-python/ 100% 折扣 | 机器学习:逻辑回归、LDA 和 K-NN 在... 2020 年 5 月 24 日 https://udemycoupons.me/logistic-regression-lda-k-nn-in-python-machine-learning-100-off/ 100 % 折扣 | 使用 R Studio 完成机器学习 – ML... 2020 年 5 月 24 日 https://udemycoupons.me/100-off-complete-machine-learning-with-r-studio-ml-for-2020/ 100% OFF | Adobe Premiere Pro:初学者视频编辑 2020 年 5 月 24 日 https://udemycoupons.me/100-off-adobe-premiere-pro-ultimate-beginner-course/ 100% 折扣 | Python 初学者 – 学习所有基础知识... 2020 年 5 月 24 日 https://udemycoupons.me/100-off-python-for-beginners-learn-all-the-basics-of-python/ 100% OFF Udemy 优惠券 | 学习 Angular 的指南... 2020 年 5 月 24 日 https://udemycoupons.me/100-off-udemy-coupon-learn-angular/ Udemy 优惠券 100% OFF | 2020 年 Python 课程!2020 年 5 月 24 日 https://udemycoupons.me/100-off-udemy-coupon-the-python-course-2020/ Udemy 优惠券 100% OFF | 2020 年数据科学课程 2020 年 5 月 24 日 https://udemycoupons.me/100-off-udemy-coupon-the-data-science-course-2020/ 100% OFF | 如何使用 Gamemaker Studio 2 制作游戏... 2020 年 5 月 24 日 https://udemycoupons.me/100-off-how-to-make-games-with-gamemaker-studio-2-using-gml/ 100% 折扣 | 数据科学和机器学习所需的 Python ... 2020 年 5 月 24 日 https://udemycoupons.me/100-off-python-required-for-data-science-and-machine-learning-2020/ 100% OFF Udemy 优惠券| 学习 Microsoft OneDrive 2020 年 5 月 24 日 https://udemycoupons.me/100-off-udemy-coupon-learn-microsoft-onedrive/希望这可以帮助。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python