リクエストライブラリクローラーとは何ですか?使い方? (例を挙げて説明)

青灯夜游
リリース: 2018-10-22 16:04:33
転載
3450 人が閲覧しました

リクエスト ライブラリ クローラーとは何ですか?使い方?この記事では、リクエスト ライブラリ クローラーとは何かについて説明します。使い方?例を通して説明します。一定の参考値があるので、困っている友人は参考にしていただければ幸いです。

request.get() を使用して応答オブジェクトを返し、単一の JD ページ情報をクロールします

import requests
url = "https://item.jd.com/21508090549.html"
try:
	r = requests.get(url)
	r.raise_for_status()          #检验http状态码是否为200
	r.encoding = r.apparent_encoding#识别页面正确编码
	print(r.text[:1000])
except:
	print("爬取失败")
ログイン後にコピー

上記のコードを使用して Amazon ページにアクセスすると、エラー メッセージがクロールされます。 Amazon ロボット プロトコルのため、非主流ブラウザによるページへのアクセスは許可されていないと定義されているため、リクエスト アクセス情報の「user-agent」を設定する必要があります

import requests
url = "https://www.amazon.cn/gp/product/B01M8L5Z3Y"
try:
	#kv = {'user-agent':'Mozilla/5.0'}#假装访问浏览器为Mozilla/5.0
	r = requests.get(url)
	r.raise_for_status()#检验http状态码是否为200
	r.encoding = r.apparent_encoding#识别页面正确编码
	print(r.text[:1000])
except:
	print("爬取失败")
ログイン後にコピー

コードを使用して Baidu/ を模倣します360 検索

URL に含める必要があります Baidu の 'wd=..'/360 は 'q=...'

import requests
url = "http://www.baidu.com/s"
keyword="python"
try:
	kv = {'wd':key}
	r = requests.get(url,params=kv)
	print(r.request.url)
	r.raise_for_status()#检验http状态码是否为200
	r.encoding = r.apparent_encoding#识别页面正确编码
	print(len(r.text))#由于信息量可能特别大,这里只输出长度
except:
	print("爬取失败")
ログイン後にコピー

パラメータを追加します画像をクロールして保存します

import requests
import os
url = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1540201265460&di=64720dcd3bbc24b7d855454028173deb&imgtype=0&src=http%3A%2F%2Fpic34.photophoto.cn%2F20150105%2F0005018358919011_b.jpg"
root = "D://pics//"
path = root + url.split('.')[-2]+'.'+url.split('.')[-1]#得到文件名,生成文件路径
if not os.path.exists(root):
	os.mkdir(root)#如果目录不存在,创建目录
if not os.path.exists(path):#如果文件不存在爬取文件并保存
	r = requests.get(url)
	with open(path,'wb') as f:#打开文件对象
		f.write(r.content)#写入爬取的图片
		f.close()
		print("文件保存成功")
else:
	print("文件已存在")
ログイン後にコピー

要約: 上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。関連チュートリアルの詳細については、C#ビデオ チュートリアルをご覧ください。

以上がリクエストライブラリクローラーとは何ですか?使い方? (例を挙げて説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート