[Python クローラー] リクエストモジュール

概要

リクエストはブラウザをシミュレートして、HTTP または HTTPS プロトコルのネットワーク リクエストを開始して、Web ページのソース コードを取得できます。

ネットワーク リクエストを開始する主なメソッドは、リクエスト内の get() と post() です。get() の機能は Web ページを取得するリクエストを開始することであり、post() はデータをサーバーに送信することであり、よく使用されます。ユーザーのログインをシミュレートします。

1. 静的 Web ページのソース コードを取得します。

Baidu Web ページを開き、Web ページのソース コードを印刷します。

import requests as re

rp = re.get(url='https://www.baidu.com')
print(rp.text)

演算結果

 2. 動的にロードされたデータを取得する

動的 Web ページはサーバーから返される Web ページ テンプレートであり、Ajax などの方法でデータが埋め込まれたテンプレートでは、通常、必要なデータはサーバーから返される JSON 形式のデータ パッケージ内にあります。

動的と静的の区別: ブラウザーが下にスクロールするにつれて Web ページがさらに多くのデータを読み込む場合、これは動的です。

 

import requests as re

header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}

url='https://movie.douban.com/j/chart/top_list'
params={'type':'25','interval_id':'100:900','action':'','start':'0','limit':'1'}
rp = re.get(url=url,headers=header,params=params)

r=rp.json()
print(r)

 

 3. 写真を取得する

ソースコードを取得する場合は、まず get() を使用して応答オブジェクトを取得し、次に応答オブジェクトの text プロパティを使用して Web ページのソースコードを抽出します。ただし、画像を取得したい場合は、最初に get() を使用して応答オブジェクトを取得しますが、text 属性を使用して画像を抽出することはできないため、content 属性を使用して画像のバイナリ バイトコードを抽出する必要があります。

import requests
url = ''

response = requests.get(url = url)
content = response.content

with open('图片.jpg', 'wb') as fp:
    fp.write(content)

おすすめ

転載: blog.csdn.net/weixin_39407597/article/details/126572283