python爬虫从入门到实践,利用selenium爬取

这是python爬虫从入门到实践,这本书中利用selenium爬取评论的内容,这里是模拟浏览器爬取的方法。当然并没有爬取所有评论,要爬取所有评论还要,模仿浏览器的点击动作进行多次点击,循环爬取,这里限制了图片的加载,提高爬取速度,实现代码如下:

#D:\ProgramData\Anaconda3\Scripts\geckodriver.exe//添加的变量地址
#D:\Program Files\Mozilla Firefox\firefox.exe//firefox 浏览器的地址
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
import time 
comment_file=open('./comment.txt','w')
caps = webdriver.DesiredCapabilities().FIREFOX
fp=webdriver.FirefoxProfile()
fp.set_preference("permissions.default.image",2)
caps["marionette"] = True
binary = FirefoxBinary(r'D:\Program Files\Mozilla Firefox\firefox.exe')
#把上述地址改成你电脑中Firefox程序的地址
driver = webdriver.Firefox(firefox_binary=binary, firefox_profile=fp,capabilities=caps)
driver.get("http://www.santostang.com/2018/07/04/hello-world/")
time.sleep(10)
#程序在这里等待10s不然页面没有加载完成而执行下一步很可能会报错Unable to locate element
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)
comments=driver.find_elements_by_css_selector('div.reply-content')
for comment_i in comments:
    content_i=comment_i.find_element_by_tag_name('p')
    comment_file.write(content_i.text+'\n')
comment_file.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值