赵乾舟 发表于 2021-8-17 09:42:30

模拟登录本站,解析收藏链接,下载图片

这个代码纯粹写着玩,合并的是模拟登陆电影网,并领取积分+本站爬图测试,两个代码的结合,本文解析的收藏夹,只有一个链接,如果有需要,以后会写收藏夹多个链接,遍历链接下载图片。
# 导包
from selenium import webdriver
import time
import os
import requests
from lxml import etree
ua = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0"}
账号 = input('请输入账号:')
mima = input('请输入密码:')
# 获取[浏览器]的实例化对象
浏览器对象 = webdriver.Chrome()
浏览器对象.minimize_window()
# 使用浏览器打开网址
浏览器对象.get("http://zhaoqianzhou.com/forum.php")
# 定位并输入用户名
用户名 = 浏览器对象.find_element_by_id('ls_username')
用户名.clear()
用户名.send_keys(账号)
# 定位并输入密码id是唯一的
#mima = input('请输入密码:')
密码 = 浏览器对象.find_element_by_id('ls_password')
密码.clear()
密码.send_keys(mima)
# 定位登录按钮并点击
登录 = 浏览器对象.find_element_by_xpath("//*[@id='lsform']/div/div/table/tbody/tr/td/button/em")
time.sleep(2)
登录.click()
# 停留10秒钟,人工验证
time.sleep(2)   #登录完毕

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

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





页: [1]
查看完整版本: 模拟登录本站,解析收藏链接,下载图片