为了账号安全,请及时绑定邮箱和手机立即绑定

用 selenium 和 python 抓取

用 selenium 和 python 抓取

SMILET 2022-12-06 17:26:49
我试图将我的脚趾浸入硒的世界,但我在理解事物的工作原理时遇到了问题。首先,我只是想学习抓取网站。以这个网站为例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)我如何使用硒来做到这一点?我似乎无法以同样的方式检索对象
查看完整描述

2 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

你可以从:


# Definning some basic functions for later usage

def 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。


查看完整回答
反对 回复 2022-12-06
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

要将 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 BeautifulSoup

from selenium import webdriver


coupon_title=[] #List to store coupon title

coupon_date=[] #List to store coupon date

coupon_url=[] #List to store coupon url


driver = webdriver.Chrome(executable_path = r'C:/temp/chromedriver.exe')

driver.get("https://udemycoupons.me/")

content = driver.page_source

soup = 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/

希望这可以帮助。



查看完整回答
反对 回复 2022-12-06
  • 2 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号