python网络爬虫从入门到实践 第4章(二)
pip install selenium
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.santostang.com/2018/07/04/hello-world/")
可以使用啊
下面这个能用不
from selenium import webdriver
driver = webdriver.Firefox(executable_path = r'C:\ProgramData\Anaconda3\Scripts\geckodriver.exe')
#把上述地址改成你电脑中geckodriver.exe程序的地址
driver.get("http://www.santostang.com/2018/07/04/hello-world/")
可以使用
from selenium import webdriver
driver = webdriver.Firefox(executable_path = r'C:\ProgramData\Anaconda3\Scripts\geckodriver.exe')
#把上述地址改成你电脑中geckodriver.exe程序的地址
driver.get("http://www.santostang.com/2018/07/04/hello-world/")
driver.switch_to.frame(driver.find_element_by_css_selector("iframe[title='livere']"))
comment = driver.find_element_by_css_selector('div.reply-content')
content = comment.find_element_by_tag_name('p')
print (content.text)
输出:
有点难哦
全部评论:
from selenium import webdriver
import time
driver = webdriver.Firefox(executable_path = r'C:\ProgramData\Anaconda3\Scripts\geckodriver.exe')
driver.implicitly_wait(20) # 隐性等待,最长等20秒
#把上述地址改成你电脑中geckodriver.exe程序的地址
#把上述地址改成你电脑中geckodriver.exe程序的地址
driver.get("http://www.santostang.com/2018/07/04/hello-world/")
time.sleep(5)
print ('A\n')
for i in range(0, 6):
# 下滑到页面底部
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# 转换iframe,再找到查看更多,点击
driver.switch_to.frame(driver.find_element_by_css_selector("iframe[title='livere']"))
load_more = driver.find_element_by_css_selector('button.more-btn')
load_more.click()
# 把iframe又转回去
driver.switch_to.default_content()
time.sleep(2)
print(i, ' B\n')
print('C\n')
driver.switch_to.frame(driver.find_element_by_css_selector("iframe[title='livere']"))
print('D\n')
comments = driver.find_elements_by_css_selector('div.reply-content')
print('E\n')
for eachcomment in comments:
content = eachcomment.find_element_by_tag_name('p')
print (content.text)
仔细观察 页面 ,可以看到那个 页面 自己动。
log :
A
0 B
1 B
2 B
3 B
4 B
5 B
C
D
E
find_elements_by_css_selector
应该是 把 所有的 评论 都 找到 并且 放在一块了。
加快 加载 速度
from selenium import webdriver
fp = webdriver.FirefoxProfile()
# 控制 css
fp.set_preference("permissions.default.stylesheet",2)
# 限制图片的加载
fp.set_preference("permissions.default.image",2)
# 限制 JavaScript 的执行
fp.set_preference("javascript.enabled", False)
driver = webdriver.Firefox(executable_path = r'C:\ProgramData\Anaconda3\Scripts\geckodriver.exe')
driver.get("http://www.santostang.com/2018/07/04/hello-world/")