gpt4 book ai didi

javascript - 使用 Selenium 和 BeautifulSoup 抓取网站

转载 作者:行者123 更新时间:2023-11-28 18:52:43 28 4
gpt4 key购买 nike

所以我正在尝试抓取一个使用 JS 动态加载内容的网站。我的目标是构建一个快速的 python 脚本来加载网站,查看是否有某个单词,然后给我发电子邮件(如果有)。

我对编码比较陌生,所以如果有更好的方法,我很乐意听到。

我目前正在努力使用 Selenium 加载页面,然后使用 BeautifulSoup 抓取生成的页面,这就是我遇到问题的地方。如何让 beautifulsoup 抓取我刚刚在 selenium 中打开的网站?

from __future__ import print_function
from bs4 import BeautifulSoup
from selenium import webdriver
import requests
import urllib, urllib2
import time


url = 'http://www.somesite.com/'

path_to_chromedriver = '/Users/admin/Downloads/chromedriver'
browser = webdriver.Chrome(executable_path = path_to_chromedriver)

site = browser.get(url)

html = urllib.urlopen(site).read()
soup = BeautifulSoup(html, "lxml")
print(soup.prettify())

我有一个错误提示

Traceback (most recent call last):
File "probation color.py", line 16, in <module>
html = urllib.urlopen(site).read()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 87, in urlopen
return opener.open(url)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 185, in open
fullurl = unwrap(toBytes(fullurl))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 1075, in unwrap
url = url.strip()
AttributeError: 'NoneType' object has no attribute 'strip'

我真的不明白也不明白为什么会发生。是 urllib 内部的东西吗?我如何解决它?我认为解决这个问题就能解决我的问题。

最佳答案

可以使用浏览器上的“page_source”属性找到 HTML。这应该有效:

browser = webdriver.Chrome(executable_path = path_to_chromedriver)
browser.get(url)

html = browser.page_source
soup = BeautifulSoup(html, "lxml")
print(soup.prettify())

关于javascript - 使用 Selenium 和 BeautifulSoup 抓取网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34210883/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com