请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
热搜: Excel discuz
查看: 111|回复: 0

[项目代码] 模拟登录本站,解析收藏链接,下载图片

[复制链接]

333

主题

5万

元宝

51万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
519487
发表于 2021-8-17 09:42:30 | 显示全部楼层 |阅读模式
这个代码纯粹写着玩,合并的是模拟登陆电影网,并领取积分+本站爬图测试,两个代码的结合,本文解析的收藏夹,只有一个链接,如果有需要,以后会写收藏夹多个链接,遍历链接下载图片。
  1. # 导包
  2. from selenium import webdriver
  3. import time
  4. import os
  5. import requests
  6. from lxml import etree
  7. ua = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0"}
  8. 账号 = input('请输入账号:')
  9. mima = input('请输入密码:')
  10. # 获取[浏览器]的实例化对象
  11. 浏览器对象 = webdriver.Chrome()
  12. 浏览器对象.minimize_window()
  13. # 使用浏览器打开网址
  14. 浏览器对象.get("http://zhaoqianzhou.com/forum.php")
  15. # 定位并输入用户名
  16. 用户名 = 浏览器对象.find_element_by_id('ls_username')
  17. 用户名.clear()
  18. 用户名.send_keys(账号)
  19. # 定位并输入密码  id是唯一的
  20. #mima = input('请输入密码:')
  21. 密码 = 浏览器对象.find_element_by_id('ls_password')
  22. 密码.clear()
  23. 密码.send_keys(mima)
  24. # 定位登录按钮并点击
  25. 登录 = 浏览器对象.find_element_by_xpath("//*[@id='lsform']/div/div[1]/table/tbody/tr[2]/td[3]/button/em")
  26. time.sleep(2)
  27. 登录.click()
  28. # 停留10秒钟,人工验证
  29. time.sleep(2)   #登录完毕

  30. #拿登录cookies
  31. cookies = 浏览器对象.get_cookies()
  32. cookies_dict= {}
  33. for i in cookies:
  34.     cookies_dict[i['name']] = i['value']
  35. #解析收藏页面,获取文章链接
  36. respon = requests.get(url='http://zhaoqianzhou.com/home.php?mod=space&do=favorite&view=me',headers = ua,cookies=cookies_dict).text
  37. jiexi = etree.HTML(respon)
  38. lianjie = jiexi.xpath('//*[@id="fav_1"]/a[2]/@href')
  39. lianjie = 'http://zhaoqianzhou.com/'+ lianjie[0]
  40. #print(lianjie)

  41. #获取到文章链接,开始获取图片下载
  42. if not os.path.exists('c:/cl'):
  43.     os.mkdir('c:/cl')
  44. respon = requests.get( url = lianjie,headers=ua,cookies=cookies_dict).text
  45. jiexi = etree.HTML(respon)
  46. picurl = jiexi.xpath('//div[@class="t_fsz"]//@file')
  47. for i in picurl:
  48.     newpicurl = 'http://zhaoqianzhou.com/'+i
  49.     #print(newpicurl)
  50.     picdate = requests.get(url=newpicurl,headers=ua,cookies=cookies_dict).content
  51.     picname = newpicurl.split('/')[-1]
  52.     pinadd = 'c:/cl/'+ picname
  53.     with open(pinadd,'wb') as tu:
  54.         tu.write(picdate)
  55.         print(picname.split('/')[-1],'下载完成')
复制代码






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五花八门论坛 ( 豫ICP备15031300号 )

GMT+8, 2021-9-17 12:28 , Processed in 0.116512 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表