爬虫学习(四)

爬虫学习(四)

1.任务

模拟登录丁香园,并抓取论坛页面所有的人员基本信息与回复帖子内容
http://www.dxy.cn/bbs/thread/626626#626626

2.实现

思路:

1.selenium模拟浏览器登陆
2.xpath匹配获取内容存储数据

代码:

import time
from selenium import webdriver
from selenium.common.exceptions import TimeoutException, NoSuchElementException

def login(browser, username, password):
    try:
        # 点击“登录”
        browser.find_element_by_link_text('登录').click()
        # 点击“电脑登录”
        browser.find_element_by_class_name('ico_pc').click()
        # 输入账号
        element = browser.find_element_by_name('username')
        element.clear()
        element.send_keys(username)
        # 输入密码
        element = browser.find_element_by_name('password')
        element.clear()
        element.send_keys(password)
        # 点击“登录按钮”
        browser.find_element_by_class_name('button').click()
    except TimeoutException:
        print('Time out')
    except NoSuchElementException:
        print('No Element')

def get_content(browser):
    print("success login")
    time.sleep(5)
    auth = browser.find_elements_by_class_name('auth')  # 昵称
    level = browser.find_elements_by_class_name('info') # 等级
    user_atten = browser.find_elements_by_class_name('user_atten')  # 用户属性
    content = browser.find_elements_by_class_name('postbody')   # 内容
    sfile = open('data.txt','a',encoding='utf-8')
    for i in range(len(content)):
        num = user_atten[i].find_elements_by_tag_name('a')
        data = str({'num':i+1,'name':auth[i].text,'level':level[i].text,'score':num[0].text,'vote':num[2].text,'dingdang':num[4].text,'content':content[i].text.replace(" ", "").replace("\n", "")}) +"\n" 
        sfile.writelines(data)
    print("success write")
    sfile.close()

if __name__ == '__main__':
    browser = webdriver.Firefox()
    browser.get('http://www.dxy.cn/bbs/thread/626626#626626')
    login(browser, 'username', 'password')
    get_content(browser)
    browser.quit()

3.结果

结果## 4.参考资料
爬虫学习day4
爬虫day4

豌豆代理(又称豌豆 IP)是一款一站式国内代理 IP 服务平台,主打高匿名、低延迟、高可用的 IP 资源,支持 HTTP/HTTPS/SOCKS5 协议,适配 Windows、Mac、Android、iOS 多平台。 多类型 IP 资源与高覆盖节点 提供动态住宅 IP、静态独享 IP、数据中心 IP,覆盖全国 200 + 城市,可用率 99%+;支持省市精准选择或全国混拨,适配不同业务合规与稳定性需求。 使用:在客户端 “节点 / 线路” 页,按城市 / 类型筛选,一键连接目标 IP,适合爬虫、电商多账号运营等场景。 秒级 IP 切换与灵活调度 支持手动一键切换、秒级动态切换(切换速度低至 100ms)、定时切换(自定义时长),并自动过滤重复 IP,避免重复使用导致风险。 使用:在 “设置” 中开启 “自动切换” 并设时间间隔,或按 Ctrl+Q 快捷键一键换 IP,适配反爬虫、批量测试等高频切换场景。 全协议支持与多端适配 兼容 HTTP/HTTPS/SOCKS5 主流代理协议,可对接浏览器、爬虫脚本、客户端软件;支持 Windows、Mac、安卓、iOS 多端同步使用,跨设备无缝切换。 使用:在客户端 “协议设置” 选择对应协议,生成代理地址与端口,直接填入目标软件即可生效。 隐私安全与数据加密 自研传输加密技术保护数据传输,搭配高匿名 IP 隐藏真实地址,同时支持自动清除 Cookie / 缓存,降低隐私泄露与追踪风险。 使用:在 “安全设置” 中开启 “数据加密” 与 “自动清理缓存”,公共 WiFi 环境下优先启用,提升隐私防护等级。 智能筛选与稳定网络优化 系统自动筛选低延迟、高可用 IP,过滤失效 / 重复地址;依托自建纯净机房与独享带宽,搭配 BGP 多线接入,保障连接稳定性与速度。 使用:无需手动配置,客户端默认智能匹配合适节点,复杂网络环境可在 “网络
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值