爬蟲基礎 requests模組使用樣例

2021-10-09 03:53:35 字數 3850 閱讀 6365

1. 基礎

import requests

if __name__ == "__main__":

# 1. 指定url

url = ''

headers =

# 2. 發起請求, get方法會返回乙個響應物件

response = requests.get(url=url, headers=headers)

# 3. text(字串) conten(二進位制) json() (物件)

# 對應的儲存方法:

# text: fp.write(page_text)

# json: json.dump(list_data, fp=fp, ensure_ascii=false)

# content: with open(img_path, 'wb') as fp:

# fp.write(igm_data)

page_text = response.text

print(page_text)

# 4. 持久化儲存

with open('./sougou.html','w',encoding='utf-8') as fp:

fp.write(page_text)

fp.close()

print('爬取資料結束')

2. 人人網模擬登入-攜帶cookie

# -*- coding:utf-8 -*-

import requests

# 登入介面:

# ## 個人主頁位址

# login_url = ''

headers =

data =

# 建立乙個session物件

session = requests.session()

# 使用session進行post請求

response = session.post(url=login_url, data=data, headers=headers)

print('登入頁狀態碼: ', response.status_code)

# detail_url = ''

detail_url = ''

detail_page= session.get(url=detail_url, headers=headers)

detail_page_text = detail_page.text

print('個人主頁狀態碼: ', detail_page.status_code)

fp = open('./renren_detail.html', 'w', encoding='utf-8')

fp.write(detail_page_text)

fp.close()

3. 肯德基餐廳位置查詢

# -*- coding:utf-8 -*-

import requests

import json

if __name__ == '__main__':

url = ''

headers =

param =

response = requests.get(url=url, params=param, headers=headers)

dic_data = response.json()

filename = kw + '.json'

fp = open(filename, 'w', encoding='utf-8')

json.dump(dic_data,fp=fp, ensure_ascii=false)

fp.close()

print('爬取完畢')

4. 抓取糗事百科-正則方式

# -*- coding:utf-8 -*-

import requests

import re

import os

# 需求: 爬取糗事百科中的糗圖板塊中所有

if __name__ == "__main__":

# 建立乙個目錄,儲存

if not os.path.exists('./qiutulibs'):

os.mkdir('./qiutulibs')

headers =

#設定乙個通用url模版

url = ''

for pagenum in range(1,13):

# 對應頁碼的url

new_url = format(url%pagenum)

# 使用通用爬蟲對url對應的整張頁面進行爬取

page_text = requests.get(url=new_url, headers=headers).text

# 使用聚焦爬蟲對頁面中所有的糗圖進行解析/提取, 下面正則的意識是提取src後面的鏈結-- (.*?) 中的內容

ex = '.*?

# re.s單行匹配, re.m多行匹配 re.i忽略大小寫

# 生成名稱,以/為分割,取最後一列

img_name = img_link.split('/')[-1]

# 最終儲存路徑

img_path = './qiutulibs/' + img_name

with open(img_path, 'wb') as fp:

fp.write(igm_data)

fp.close()

import requests

from lxml import etree

import re

from multiprocessing.dummy import pool

headers =

url = ''

page_text = requests.get(url=url,headers=headers).text

tree = etree.html(page_text)

li_list = tree.xpath('//ul[@id="listvideolistul"]/li')

for li in li_list:

deatil_url = '' + li.xpath('.//a[@class="vervideo-lilink actplay"]/@href')[0]

detail_name = li.xpath('.//a/div[@class="vervideo-title"]/text()')[0] + '.mp4'

# 對詳情頁的url發起請求

detail_page = requests.get(url=deatil_url,headers=headers).text

ex = 'srcurl="(.*\.mp4?)",vdourl=srcurl'

video_url = re.findall(ex, detail_page)[0]

video_content = requests.get(video_url,headers=headers).content

fp = open(detail_name,'wb')

fp.write(video_content)

fp.close()

python爬蟲requests模組

首先,沒有安裝的先安裝 cmd pip conda install requests 先給大家乙個模板,如果已經很熟悉了,直接忽略,不懂得就可以看看了 接下來解釋一下相應的 的意思 這個和上和上面的是一樣的,執行後輸出的 都是一樣的啦 coding utf 8 引入網路請求模組,該模組有兩個重要的物...

python爬蟲 requests模組

功能 模擬瀏覽器發請求 指定url 發起請求 獲取響應資料 持久化儲存 import requests 指定url url 發起請求,返回乙個響應對像 response requests.get url url 獲取響應資料 text返回的是字串型別的響應資料 page text response....

爬蟲之requests模組

requests 唯一的乙個非轉基因的 python http 庫,人類可以安全享用。警告 非專業使用其他 http 庫會導致危險的 包括 安全缺陷症 冗餘 症 重新發明輪子症 啃文件症 抑鬱 頭疼 甚至死亡。今日概要 知識點回顧 為什麼要使用requests模組 使用requests模組 如何使用...