크롤링 페이지 일반적인 코드 프레임

크롤링 페이지 일반적인 코드 프레임

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입니다

 

세 : 바이두는 키워드를 제출으로 검색

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("爬取失败")

리디렉션 의심

 

네 : 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("爬取失败")

성공

 

다섯 : 크롤링 및 스토리지 네트워크 사진

D 드라이브에 사진을 저장, 성공적으로 크롤링라는 abc.jpg

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