3.1 安装selenium并学习
-
安装selenium并学习。
-
使用selenium模拟登陆163邮箱。
-
163邮箱直通点:https://mail.163.com/ 。
-
参考资料:https://blog.youkuaiyun.com/weixin_42937385/article/details/88150379
3.2 学习IP相关知识
-
学习什么是IP,为什么会出现IP被封,如何应对IP被封的问题。
-
抓取西刺代理,并构建自己的代理池。
-
西刺直通点:https://www.xicidaili.com/ 。
-
参考资料:https://blog.youkuaiyun.com/weixin_43720396/article/details/88218204
task1:
import time
from selenium import webdriver
browser= webdriver.Chrome()
url='http://mail.163.com/'
browser.get(url)
time.sleep(3)
browser.maximize_window()
time.sleep(5)
browser.switch_to.frame(0)
email=browser.find_element_by_name('email')
email.send_keys('be*******ds@163.com')
password=browser.find_element_by_name('password')
password.send_keys('w*****8')
login_em=browser.find_element_by_id('dologin')
login_em.click()
time.sleep(10)
task2:
import requests
from bs4 import BeautifulSoup as bs
import time
import re
import json
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1;Win64;x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
r= requests.get('https://www.xicidaili.com/', headers = headers)
print(r.status_code)
ip_list=[]
html=r.text
soup=bs(html,'lxml')
ips=soup.find(id='ip_list').find_all('tr')
for proxy_ip in ips:
if len(proxy_ip.select('td'))>=8:
ip=proxy_ip.select('td')[1].text
port=proxy_ip.select('td')[3].text
protocol=proxy_ip.select('td')[5].text
if protocol in ('HTTP','HTTPS','http','https'):
ip_list.append(f'{protocol}://{ip}:{port}')
ip_filename='ip.text'
with open(ip_filename,'w')as f:
f.write(html)
text= open(ip_filename,'r').read()
print(ip_list)