python心得體會,python實訓day5

 2023-10-06 阅读 28 评论 0

摘要:今天上課主要是request的一些用法,下面是筆記: 1.requests的post請求 # 1、requests 的post請求 import requests import re headers={'User-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chro

今天上課主要是request的一些用法,下面是筆記:

1.requests的post請求

# 1、requests 的post請求
import requests
import re
headers={'User-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36'
}
response=requests.get(url='https://github.com/login',headers=headers)
print(response.text)
把login頁返回的cookies信息轉換成字典
login_cookies=response.cookies.get_dict()
authenticity_token=re.findall(' name="authenticity_token" value="(.*?)"',response.text,re.S)[0]
print(authenticity_token)
#拼接請求頭信息
headers2={'Referer':'https://github.com/login','User-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36'
}
#拼接請求體信息
form_data={'commit':'Sign in',"utf-8":"?","authenticity_token":authenticity_token,"login":"852653835","password":"******","webauthn-support":"supported"
}
# 往session發送請求,攜帶請求頭、請求體、login頁的cookies信息
response2=requests.post(url='https://github.com/session',data=form_data,headers=headers2,cookies=login_cookies)
print(response2.status_code)
with open('github.html','w',encoding='utf-8')as f:f.write(response2.text)#響應response
import requestsheaders = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36',
}
#
response = requests.get('https://www.github.com', headers=headers)
print(response.status_code)  # 獲取響應狀態碼
print(response.url)  # 獲取url地址
print(response.text)  # 獲取文本
print(response.content)  # 獲取二進制流
print(response.headers)  # 獲取頁面請求頭信息
print(response.history)  # 上一次跳轉的地址
print(response.cookies)  # # 獲取cookies信息
print(response.cookies.get_dict())  # 獲取cookies信息轉換成字典
print(response.cookies.items())  # 獲取cookies信息轉換成字典
print(response.encoding)  # 字符編碼
print(response.elapsed)  # 訪問時間

  2.requests的高級用法

# 2、requests高級用法
# https=http+ssl
import requests
#王音頻地址發送get請求
url='http://hc.yinyuetai.com/uploads/videos/common/3B7201685F78BF2954FEEB32CB6EBD82.mp4'
response=requests.get(url,stream=True)  #stream=True把content設置為一個迭代器對象
print(response.content)
with open('music.mp4','wb')as f:for content in response.iter_content():f.write(content)

python心得體會。  3.selenium模塊

'''
'''例1'''
from selenium import webdriver  # 用來驅動瀏覽器的
from selenium.webdriver import ActionChains  # 破解滑動驗證碼的時候用的 可以拖動圖片
from selenium.webdriver.common.by import By  # 按照什么方式查找,By.ID,By.CSS_SELECTOR,By.ClassName
from selenium.webdriver.common.keys import Keys  # 鍵盤按鍵操作
from selenium.webdriver.support import expected_conditions as EC  # 和下面WebDriverWait一起用的
from selenium.webdriver.support.wait import WebDriverWait  # 等待頁面加載某些元素
#
import time
# 通過谷歌瀏覽器驅動打谷歌瀏覽器
# 1、
webdriver.Chrome(r'C:\Users\85265\Downloads\chromedriver.exe')
chrome=webdriver.Chrome(r'C:\Users\85265\Downloads\chromedriver.exe')
chrome.get('https://www.cnblogs.com/kermitjam')#2、
chrome=webdriver.Chrome()
若try出現異常
try:驅動一參數對象,驅動二等待時間wait=WebDriverWait(chrome,10)訪問百度chrome.get('https://www.baidu.com')查找input輸入窗input_tag=wait.until(EC.presence_of_element_located(此處可以寫一個參數(By.ID,'kw')))#沒ID找class搜索一拳超人input_tag.send_keys('一拳超人')按鍵盤回車鍵input_tag.send_keys(Keys.ENTER)time.sleep(3)
finally:chrome.close()from selenium import webdriver  # 用來驅動瀏覽器的
from selenium.webdriver import ActionChains  # 破解滑動驗證碼的時候用的 可以拖動圖片
from selenium.webdriver.common.by import By  # 按照什么方式查找,By.ID,By.CSS_SELECTOR,By.ClassName
from selenium.webdriver.common.keys import Keys  # 鍵盤按鍵操作
from selenium.webdriver.support import expected_conditions as EC  # 和下面WebDriverWait一起用的
from selenium.webdriver.support.wait import WebDriverWait  # 等待頁面加載某些元素
import time
通過谷歌瀏覽器驅動打開谷歌瀏覽器
1、
webdriver.Chrome(r'C:\Users\85265\Downloads\chromedriver.exe')
chrome=webdriver.Chrome(r'C:\Users\85265\Downloads\chromedriver.exe')
chrome.get('https://www.cnblogs.com/kermitjam')#2、
chrome=webdriver.Chrome()
若try出現異常
try:顯示等待(等待某個元素加載),驅動一參數對象,驅動二等待時間wait=WebDriverWait(chrome,10)訪問百度chrome.get('https://www.jd.com')查找input輸入窗input_tag=wait.until(EC.presence_of_element_located(此處可以寫一個參數(By.ID,'key')))#沒ID找class搜索唐詩三百首input_tag.send_keys('唐詩三百首')根據class屬性名查找標簽search_button=wait.until(EC.presence_of_element_located((By.CLASS_NAME,'button')))search_button.click()time.sleep(8)
finally:chrome.close()

  4.京東實例

# 標簽中首選id
# 目的就是查找唯一的屬性,來定位
from selenium import webdriver  # 用來驅動瀏覽器的
from selenium.webdriver import ActionChains  # 破解滑動驗證碼的時候用的 可以拖動圖片
from selenium.webdriver.common.by import By  # 按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys  # 鍵盤按鍵操作
from selenium.webdriver.support import expected_conditions as EC  # 和下面WebDriverWait一起用的
from selenium.webdriver.support.wait import WebDriverWait  # 等待頁面加載某些元素
from selenium import webdriver
import time
# 通過谷歌瀏覽器驅動打開谷歌瀏覽器
# 絕對路徑有可能有.exe,有可能沒有
# 驅動瀏覽器的一種方式
chrome=webdriver.Chrome(r'D:\360安全瀏覽器下載\chromedriver_win32\chromedriver')
# 驅動瀏覽器的另一種方式,將chromedriver.exe放入到python解釋器的scipt文件中,;之后還要進行環境變量的配置。
# 往博客園主頁發送get請求
try:# chrome.get('https://www.cnblogs.com/')# 訪問百度# chrome是一個驅動對象,里面包含其他函數# 參數1:驅動對象。參數2:等待wait=WebDriverWait(chrome,10)chrome.get('https://www.jd.com/')# 查找input輸入框#!!!!!!注意!!!!!EC.presence_of_element_located((By.ID,"kw"))里面是寫的元組,#參數1.查找屬性的方式,參數2:屬性的名字input_tag=wait.until(EC.presence_of_element_located((By.ID,"key")))#  kw是id的屬性# 3.搜索一拳超人input_tag.send_keys('唐詩三百首')# 4.按鍵盤回車鍵search_button=wait.until(EC.presence_of_element_located((By.CLASS_NAME,"button")))search_button.click()time.sleep(20)# 無論發生什么異常都會關閉瀏覽器
finally:# 關閉瀏覽器chrome.close()

  5.作業

from  selenium import webdriver
import time
driver=webdriver.Chrome()
driver.maximize_window()
try:driver.get('https://dig.chouti.com/')driver.implicitly_wait(10)time.sleep(5)login_btn=driver.find_element_by_id('login_btn')login_btn.click()time.sleep(2)phone=driver.find_element_by_class_name('login-phone')phone.send_keys('216635131365')pwd=driver.find_element_by_class_name('pwd-password-input')pwd.send_keys('ddgsgddg')login_submit=driver.find_element_by_class_name('btn-large')login_submit.click()time.sleep(20)except Exception as e:print(e)finally:driver.close()

  

?

?

轉載于:https://www.cnblogs.com/jacob1998/p/11042784.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/118995.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息