proxies = {
‘http’: ‘http://222.89.32.159:21079’,
‘https’: ‘http://222.89.32.159:21079’
}
headers = {
“User-Agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36”
}
res = requests.get(url=urls,headers=headers,proxies=proxies)


我想了半天没想好到底哪些网站拒绝强,所以我就随便找一个网站来测试了,你可以再去尝试逛一下自己学校的教务管理系统,12360,facebook等…


目标网址:



https://www.taobao.com/


![在这里插入图片描述](https://img-blog.csdnimg.cn/52e8405eb5364bc586f2768a0ce504bd.png)  
 所以定位就很容易:



driver.find_element_by_name(‘q’)


之前写过一次使用代理玩爬虫,是requests模块,但是作为个人,我越往后面学,发现selenium用得反而越来越多,requests被逐渐抛弃一般,所以这里补充一个selenium添加代理。


方式很简单:



ops.add_argument(‘–proxy-server=http://%s’ % a) #添加代理


注意这里的a格式为:ip:port


**注意:** 使用代理ip需要安装模块selenium-wire:



pip install selenium-wire


你应该是:



from seleniumwire import webdriver


而不是:



from selenium import webdriver


比如在X宝搜索:XX手机


完整代码:



from selenium import webdriver
from fake_useragent import UserAgent
from selenium.webdriver.chrome.options import Options

headers = {‘User-Agent’: UserAgent().random}
ops = Options()

driver = webdriver.Chrome(r’D:\360安全浏览器下载\chromedriver.exe’)

api_url = ‘让你复制的代理api链接’

driver.get(api_url)

a = driver.find_element_by_xpath(‘/html/body/pre’).text # 获取代理

ops.add_argument(‘–proxy-server=http://%s’ % a) #添加代理

driver.delete_all_cookies() #清楚cookies

driver.get(‘https://www.taobao.com/’)

driver.find_element_by_name(‘q’).send_keys(‘华为手机’)


接下来是点击按钮:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/bb62c86024da4478b2a9d0904a2fafc9.png)  
 确定点击的地方元素,然后使用click点击即可:



from selenium.webdriver import ActionChains

b= driver.find_element_by_class_name(‘search-button’) #定位搜索

ActionChains(driver).click(b).perform()


需要登录,我也不知道我的X宝账号密码,随便演示输入一下…剩下的自己操作  
 这里是账号密码分析:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/61c03d8aedde492db7c9567dbdf73030.png)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/dd09eebdf93e465ea24da5dcbdabe872.png)  
 所以定位账号密码如下,账号我设置的输入:chuanchuan,密码设置的输入:123456 瞎编的,具体根据你的实际账号来操作,我就不讲下去了,就是定位定位点点点



driver.find_element_by_name(‘fm-login-id’).send_keys(‘chuanchuan’) # 输入账号

driver.find_element_by_name(‘fm-login-password’).send_keys(‘123456’) # 输入密码


效果如下:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/fa00928a368e425c97bf56eba559b833.png)


### 三、在selenium使用代理IP实战(二)


**注意:** 用代理爬外wang需要国外环境,为了演示我不得不买了一个国外环境测试,请看:[国外环境服务器]( )  
 比如:



https://www.facebook.com/


分析账号密码登录:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/0397fa24a7db40a18ba891569f9daebd.png)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/29d33d512d7943a2bd9e7eb2ac2dfad9.png)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/27b0399a5f2f4763906c09a9b47d3878.png)


代码为:



from fake_useragent import UserAgent
import requests
from selenium import webdriver
from selenium.webdriver import ChromeOptions

headers = {‘User-Agent’: UserAgent().random}

api_url = ‘复制你的api’

res = requests.post(api_url, headers=headers, verify=True)
PROXY = res.text
print(PROXY)

ops = ChromeOptions()

ops.add_argument(‘–proxy-server=%s’ % PROXY) # 添加代理

driver = webdriver.Chrome(r’D:\360安全浏览器下载\chromedriver.exe’, chrome_options=ops)

driver.get(“https://m.facebook.com/”)
driver.find_element_by_name(‘email’).send_keys(“你的账号”)
driver.find_element_by_name(‘pass’).send_keys(‘你的密码’)

按钮

btnSubmit = driver.find_element_by_name(‘login’)
btnSubmit.click()


效果如下:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/dc52b1bb918d4692975efdb905eb362b.png)


我的账号被封了,后续操作不继续演示,可以根据我讲的selenium知识点自行操作,无非就是点点点定位定位保存保存。


### 三、selenium单个元素定位实战复习


#### 3.1 定位填写


以微软搜索引擎为例:



https://cn.bing.com/?mkt=zh-CN


分析:


![在这里插入图片描述](https://img-blog.csdnimg.cn/9d01e815847b48c7b6a287f52b0d019a.png)


所以:



from selenium import webdriver

driver = webdriver.Chrome(r’D:\360安全浏览器下载\chromedriver.exe’)

driver.get(‘https://cn.bing.com/?mkt=zh-CN’)

driver.find_element_by_name(‘q’).send_keys(‘川川菜鸟’)


如下:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/ea3dd3e3484b4c0c8d0282eaa785ae38.png)  
 你也可以如下两种方式:



driver.find_element_by_id(‘sb_form_q’).send_keys(‘川川菜鸟’)



driver.find_element_by_class_name(‘sb_form_q’).send_keys(‘川川菜鸟’)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

80e0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56iL5bqP5aqb56eD56eD,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-B8v1OQz9-1712863110457)]

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐