クロールされたページの汎用コードフレーム

クロールされたページの汎用コードフレーム

import requests
def getHTMLText(url):
	try:
		r=requests.get(url,timeout=30)
		r.raise_for_status()   #若状态不是200,引发HTTPError异常
		r.encoding=r.apparent_encoding
		return r.text
	except:
		return "产生异常"

if __name__=="__main__":
	url="http://www.baidu.com"
	print(getHTMLText(url))

 

A:Jingdongは商品ページのクロール

import requests
url="https://pro.jd.com/mall/active/28bw6fLCSoxGTKKBiQZLmUrVoSKV/index.html"
try:
	r=requests.get(url)
	r.raise_for_status()
	r.encoding=r.apparent_encoding
	print(r.text[:1000])
except :
	print("爬取失败")

r.status_code 200返され、直接クロール

 

2:アマゾン商品ページのクロール

import requests
url="https://www.amazon.cn/dp/B07JMQTHWR/ref=s9_acsd_hps_bw_c2_x_0_i?pf_rd_m=A1U5RCOVU0NYF2&pf_rd_s=merchandised-search-2&pf_rd_r=PF3XEDEN44FP3A9EN2RM&pf_rd_t=101&pf_rd_p=3f149c06-7221-4924-a124-ebbe0310b38c&pf_rd_i=116169071"
try:
	kv={'user-agent':'Mozilla/5.0'}
	r=requests.get(url,headers=kv)
	r.raise_for_status()
	r.encoding=r.apparent_encoding
	print(r.text[1000:2000])
except :
	print("爬取失败")

自分の爬虫類の身元を隠すために、ヘッダーフィールドを変更する必要があるのでr.status_codeは、503で返さ

 

3:提出Baiduの検索キーワード

import requests
keyword="Python"
try:
	kv={'wd':keyword}
	r=requests.get("http://www.baidu.com/s",params=kv)
	print(r.request.url)
	r.raise_for_status()
	print(len(r.text))
except :
	print("爬取失败")

リダイレクトされるように疑われます

 

4:360検索キーワード提出

import requests
keyword="Python"
try:
	kv={'q':keyword}
	r=requests.get("http://www.so.com/s",params=kv)
	print(r.request.url)
	r.raise_for_status()
	print(len(r.text))
except :
	print("爬取失败")

成功

 

5:クロールとストレージのネットワーク絵

成功クロール、abc.jpgという名前の、Dドライブに画像を保存

import requests
import os
url="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1585238676005&di=806d8fd3824fb2380f9c1f0d2d4ab76a&imgtype=0&src=http%3A%2F%2Fimg.article.pchome.net%2F00%2F38%2F35%2F30%2Fpic_lib%2Fwm%2FChuntian11.jpg"
path="D:/abc.jpg"
try:
	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("文件已存在")
except :
	print("爬取失败")

 

公開された462元の記事 ウォン称賛55 ビュー320 000 +

おすすめ

転載: blog.csdn.net/LY_624/article/details/105127040