python网络爬虫从入门到实践 第4章(二)

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/")

可以使用

python网络爬虫从入门到实践 第4章(二)_第1张图片
python网络爬虫从入门到实践 第4章(二)_第2张图片
python网络爬虫从入门到实践 第4章(二)_第3张图片

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

在这里插入图片描述
python网络爬虫从入门到实践 第4章(二)_第4张图片

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/")

你可能感兴趣的:(python)