python安全攻防---爬蟲基礎---get和post提交數據

get提交數據1

get提交的數據就附在提交給服務器的url之后,以?開頭參數之間以&隔開,例如/admin/user/123456.aspx?name=123&id=123
案例:寫個腳本,在sogou自動搜索周杰倫,并將搜索頁面的數據獲取
程序如下:

import requestsquery = input("請輸入一個你喜歡的明星:")url = f'https://www.sogou.com/web?query={query}'dict = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36','Referer':'https://www.sogou.com/web?query=zhoujielun&_asf=www.sogou.com&_ast=&w=01019900&p=40040100&ie=utf8&from=index-nologin&s_from=index&sut=3117&sst0=1621925126921&lkt=11,1621925123805,1621925126101&sugsuv=001E74F4CA65D1685D50D56F6038D197&sugtime=1621925126921'
}response = requests.get(url,headers=dict)print(response)
print(response.text)

對于dict里面的內容,我們可以在瀏覽器手動獲得,我以Chrome瀏覽器為例:
F12或者右鍵頁面,找到檢查,點擊
在這里插入圖片描述
找到network,如果沒有數據,刷新一下,隨便點擊左邊的內容,然后找到Request Headers,就可以找到Referer和User-Agent的值了
在這里插入圖片描述
對于get的提交數據,使用requests.get(url,headers=dict),url是我們爬蟲的頁面,url也有我們提交的數據,后面增加的headers是為了反反爬蟲的。
運行結果:
在這里插入圖片描述

get提交數據2

案例:爬取豆瓣數據排行榜的數據
地址:https://movie.douban.com/typerank?type_name=%E5%96%9C%E5%89%A7&type=24&interval_id=100:90&action=

在這里插入圖片描述
再第二個連接中我們找到了我們需要的數據
在這里插入圖片描述
觀察Headers,找到url和header參數,并且可以發現是get請求
在這里插入圖片描述

寫出程序:

import requestsurl = 'https://movie.douban.com/j/chart/top_list'
#重新封裝參數
param = {'type': '24','interval_id': '100:90','action': '','start': 0,'limit': 20,
}headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',
}
resp = requests.get(url=url,params=param,headers=headers)print(resp.json())
resp.close()

這里可以在使用get方法時使用paams指定get的參數。

在這里插入圖片描述

post提交數據

post提交數據的方法則是直接將數據放在http的body部分

response = requests.post(url=url,data=data)

data是我們需要提交的數據,字典形式
其他和post一樣

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/379859.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379859.shtml
英文地址,請注明出處:http://en.pswp.cn/news/379859.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JavaMail中解決中文附件名亂碼的問題

網上有很多類似的解決方案,很多是使用 if ((fileName ! null) && (fileName.toLowerCase().indexOf("gb2312") ! -1)){ fileName MimeUtility.decodeText(fileName); } 來解決,但對應gbk編碼的附件名,這里仍不能正確處…

Java ObjectOutputStream writeBytes()方法與示例

ObjectOutputStream類writeBytes()方法 (ObjectOutputStream Class writeBytes() method) writeBytes() method is available in java.io package. writeBytes()方法在java.io包中可用。 writeBytes() method is used to write the given string as a sequence of bytes. write…

如何集中注意力(3)

如何集中注意力(3) [ 2008-10-20 10:15 ]by Glen Stansberry of LifeDev (feed). 集中注意力并不是一件很容易的事情,尤其是處在當前這個充滿誘惑和紛擾的世界里。下面是繼續告訴大家一些有幫助的方法: 7. Plan your day to the T…

Java——網絡編程三要素

* A:計算機網絡* 是指將地理位置不同的具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來,在網絡操作系統、網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。* 其實我們這些網,之所以能…

python安全攻防---爬蟲基礎--re解析數據

0x01 re基礎 使用re模塊,必須先導入re模塊 import refindall():匹配所有符合正則的內容,返回的是一個列表 import restr "我的電話:10086,女朋友電話:11011" list re.findall(\d,str) print…

BSP for good 3d engine

1.open sourcehttp://irrlicht.sourceforge.net/downloads/ 2.不錯的小材質http://www.permadi.com/tutorial/webgraph/index.html 3.java bsp display(demo):http://www.symbolcraft.com/graphics/bsp/index.php http://www.faqs.org/faqs/graphics/bsptree-faq/ 4.a bps ill…

Java InputStreamReader getEncoding()方法及示例

InputStreamReader類的getEncoding()方法 (InputStreamReader Class getEncoding() method) getEncoding() method is available in java.io package. getEncoding()方法在java.io包中可用。 getEncoding() method is used to get the encoding name avail for this InputStrea…

python安全攻防---爬蟲基礎---BeautifulSoup解析

0x01 基礎 使用bs4首先要安裝,安裝后導入 import bs4bs對象有兩個方法,一個是find,另一個是find_all find(標簽名,屬性值):只返回一個,返回也是bs對象,可以繼續用find…

DataRabbit 3.1發布,完全支持SqlServer2005/2008

增加了對SqlServer2005/2008的新的數據類型的支持,如uniqueidentifier、time、sql_variant等。另外,EntityCreator也一起更新--不再強迫為Entity生成ToString()方法,使用者可以主動選擇是否要生成。 DataRabbit 3.1 下…

Java——Socket通信原理

* Socket通信原理圖解* A:Socket(中文翻譯為:電源插座)套接字概述* 網絡上具有唯一標識的IP地址和端口號組合在一起才能構成唯一能識別的標識套接字* 通信的兩端都有Socket(兩端都是電源插座,中間是啥?不就是電線啦,電…

asp.net鏈接mysql數據庫------------【個人收集】

在web.config文件中添加如下樣式的數據庫鏈接字符串&#xff1a; <add name"dbconnection" connectionString"DataBasedatabasename;Server127.0.0.1;Uid用戶名;Pwd密碼;character setgbk;" providerName"MySql.Data.MySqlClient"/></c…

sql2005 遠程連接

SQL Server 2005 不允許遠程連接解決方法轉載于:https://www.cnblogs.com/lcq135/archive/2008/11/06/1328380.html

Java GregorianCalendar computeTime()方法與示例

GregorianCalendar類computeTime()方法 (GregorianCalendar Class computeTime() method) computeTime() method is available in java.util package. java.util包中提供了computeTime()方法 。 computeTime() method is used to compute the calendar fields to the calendar …

python安全攻防---scapy基礎---計算機網絡各層協議

網絡層次劃分 比較常用的是TCP/IP五層協議。 0x01應用層 應用層是網絡應用程序以及它們的應用層協議存留的地方。應用層協議和應用程序直接掛鉤 DHCP(Dynamic Host Configuration Protocol)動態主機分配協議&#xff0c;使用 UDP 協議工作&#xff0c;主要有兩個用途&#xf…

一點心得(0)

1, 在C中&#xff0c;如果棧里的空間不足的話&#xff0c;要考慮用new命令在堆上動態生成數據&#xff0c;比如說保存所有無符號整數型的bitset&#xff0c;得用bitset<UINT_MAX1>* bs new bitset<UINT_MAX1>;來聲明定義&#xff0c;最后別忘了delete掉。 2, make…

Java——UPD輸出及優化再優化

* UPD傳輸不區分客戶端跟服務端&#xff0c;* 這里用Send和Receive這兩個方法決定誰發誰收 * 1.發送Send * 創建DatagramSocket,隨機端口號* 創建DatagramPacket,指定數據、長度、地址、端口* 創建DatagramSocket發送DatagramPacket* 關閉DatagramSocket 代碼如下&…

FLEX:圖形制作皮膚vs編程制作皮膚

Styles&#xff08;樣式&#xff09;提供了一個可以自定義flex外觀的層.可以圖形制作皮膚&#xff0c;也可以編程實現. &#xff08;小小菜鳥翻譯&#xff09; 圖形制作皮膚的 優點是 很容易實現&#xff0c;通過位圖&#xff0c;矢量圖&#xff0c;swf。 缺點是功能有限。…

Java文件類boolean canExecute()方法(帶示例)

文件類boolean canExecute() (File Class boolean canExecute()) This method is available in package java.io.File.canExecute(). 軟件包java.io.File.canExecute()中提供了此方法。 This method is used to execute the file and the file is represented by the abstract …

python安全攻防---scapy使用

導入scapy包 from scapy.all import *構造包 a Ether()/IP(dst114.114.114.114)/TCP(dport80)/應用層數據我們如果記不得每個包的選項使&#xff0c;可以使用show()來查看 print(a.show())發送包 sr(IP(dst‘192.168.1.0/24’)/TCP(dport(1,65535)), timeout2) &#xff1…

唉!

學習到后面時&#xff0c;再返回看了一下前面學過的&#xff0c;發現以前學過&#xff0c;看不懂的東西現在能看懂了…… &#xff01;不過 為什么在剛學時就是不懂&#xff0c;這樣 不就老是慢一拍嗎&#xff1f;唉&#xff01;&#xff01;轉載于:https://www.cnblogs.com/ni…