selenium+bs对一个月的24小时天气数据进行爬虫(python)

本文介绍了使用selenium和BeautifulSoup爬取需要登录的网站上的天气数据,包括登录过程、网页解析和翻页操作。在登录后,通过审查元素定位点击事件并解决隐藏元素问题,最终实现数据抓取。在翻页时遇到点击无效的问题,通过使用JavaScript执行点击和加入延迟加载策略解决。文章还提到了在爬取过程中遇到的‘目标主机积极拒绝’错误及解决方法。

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

做毕设要找数据,因为要进行翻页操作,还是一个需要先登陆的网站,就舍弃了request选择了selenium。

  1. 登录
    跟着下面这篇博客写的登陆环节,很有效。中间有一次没有办法正确登录,我把"taobaoCookies.pickle"这个文件删除就可以了(应该是因为cookie内容变了)
    https://blog.youkuaiyun.com/qq_42348937/article/details/85065104
    这里说一句,我再登陆后需要再进行点击才能进入我要的数据页面,所以在上述链接中代码的最后一行中的网址,我直接复制粘贴的有数据的那个页面网址,发现这样也凑效,就省去一次点击操作啦~

  2. 网页解析,爬取数据

    browser.get("你有数据的那个网址")
    html=browser.page_source
    bs = BeautifulSoup(html, "html.parser")  # 创建BeautifulSoup对象解析

    data0=bs.find('div', attrs={'class':'###', 'style':'###'}) # 获取指定div
    tbody= data0.find('tbody')
    tr = tbody.find_all('tr')  # 获取tr部分

    #写入数据
    temp=[]
    mon='1'
    temp.append(mon+'/'+str(i))
    for n in tr:
        td = n.find_all('td')  # 获取所有的td标签
        #print('td')
        #print(td)
        temp.append(td[1].text)

    '''#横轴标题
    timelist=[]
    for i in range(0,24):
        timelist.append(str(i) +':00')'''

    # 存储为csv
    with open('temp.csv', 'a+', encoding='utf-8', newline='') as f:
        writer = csv.writer(f)
        writer.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值