写了一个用Python下载微博高清原图的代码

写了一个批量下载微博高清原图的代码,本代码用Python写的,需要电脑预装Python。

先奉上GitHub地址。

GitHub - Xiaqiannbu/load_weibo_original_image: 批量下载微博高清原图的代码,本代码用Python写的,需要电脑预装Python。批量下载微博高清原图的代码,本代码用Python写的,需要电脑预装Python。. Contribute to Xiaqiannbu/load_weibo_original_image development by creating an account on GitHub.https://github.com/Xiaqiannbu/load_weibo_original_image

与微博其它批量下载软件的区别: 

有的软件是相当于用游客身份访问,这样有个弊端,有的微博账号某些内容只对粉丝开放,这样用游客身份访问就无法下载。所以想访问这些内容还是需要用你的账号通过cookie访问。
有的软件一条状态最多只能下载9张图,但是现在微博一条状态最多能发18张图。
有的软件命名用1、2、3、4……这样,但是如果账号更新后再下载,原来的图名称就不一样了,不利于管理。
本代码避免了上面的问题。

由于微博API的限制越来越严格,直接使用API获取数据的难度也越来越大,因此,这里提供一个基于Selenium的微博数据爬取程序,可以获取指定用户的微博数据。 首先需要安装Selenium和Chrome浏览器,可以使用以下命令安装: ``` pip install selenium ``` 然后下载对应Chrome版本的ChromeDriver,并将其添加到系统PATH环境变量中。 接下来是代码实现: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys import time # 设置ChromeDriver的路径 driver_path = '/path/to/chromedriver' # 创建Chrome浏览器实例 driver = webdriver.Chrome(executable_path=driver_path) # 设置要爬取的用户ID user_id = 'xxxx' # 打开微博登录页面 driver.get('https://passport.weibo.cn/signin/login') # 等待页面加载完成 time.sleep(5) # 输入微博账号和密码 driver.find_element_by_id('loginName').send_keys('your_username') driver.find_element_by_id('loginPassword').send_keys('your_password') # 点击登录按钮 driver.find_element_by_id('loginAction').click() # 等待页面跳转 time.sleep(5) # 跳转到指定用户的微博页面 driver.get(f'https://m.weibo.cn/u/{user_id}') # 等待页面加载完成 time.sleep(5) # 模拟向下滚动页面,直到加载完所有微博数据 while True: driver.execute_script('window.scrollTo(0, document.body.scrollHeight);') time.sleep(2) if driver.find_element_by_css_selector('.m-empty-box p').text == '没有更多了': break # 获取所有微博数据 weibo_list = driver.find_elements_by_css_selector('.weibo-text') # 输出微博内容 for weibo in weibo_list: print(weibo.text) # 关闭浏览器 driver.quit() ``` 需要注意的是,由于微博登录页面和数据页面都是动态加载的,因此需要使用time.sleep()等待页面加载完成。同时,模拟向下滚动页面需要多次执行,直到加载完所有微博数据。 另外,由于微博的反爬虫机制比较严格,如果爬取过程中出现异常,可以尝试更换IP或使用代理等方式进行反反爬虫处理。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值