用selenium爬新浪博客demo

这篇博客记录了作者一周爬虫学习后的成果,通过Python的selenium库实现自动打开谷歌浏览器并爬取新浪博客的过程,展示了网页解析的关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经过一周的爬虫学习,对python的爬虫有了一些了解。写一个小demo记录一下学习成果。

导入selenium包

from selenium import webdriver
# 捕获异常,用于当博客取完之后不报错
from selenium.common.exceptions import NoSuchElementException

自动打开谷歌浏览器

driver = webdriver.Chrome()
# 自动启动谷歌浏览器
main_window = driver.current_window_handle
# 浏览器窗口
url = 'http://blog.sina.com.cn/s/articlelist_5698901077_0_1.html'
# 博客地址
driver.get(url)

对博客进行解析

while True:
    boke_list = driver.find_elements_by_xpath('//div[@class = "articleCell SG_j_linedot1"]')
    # 爬取所有博客放在list里
    print(boke_list)
    try:
        for boke in boke_list:
            # 循环遍历每一篇博客
            title = boke.find_element_by_xpath('.//p/span/a').text
            # 用xpath找到每篇博客题目并输出
            print(title)
            tag_a = boke.find_element_by_xpath('.//p/span/a')
            # 找到文章的详情链接
            tag_a.click()
            # click事件打开详情页
            boke_detail_window = driver.window_handles[-1]
            # 因为详情页,有两个页面,所以找到窗口的最后一个,也就是新打开的那个
            driver.switch_to.window(boke_detail_window)
            # 选中新打开的页面
            content = driver.find_element_by_xpath('.//div[contains(@class, "articalContent")]').text
            # 获取新打开页面里边的博客内容
            print(content)
            driver.close()
            # 关闭页面
            driver.switch_to.window(main_window)
            # 选择主页面,也就是最初的页面
            # blog = bytes(title+content)
            blog = '{title}.txt'.format(title=title)
            with open(blog,'w') as f:
                f.write(content)
            # 以文章标题为名保存为txt文档
    except NoSuchElementException as e:
        print('爬取完毕')
        break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值