现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
我们用不同的几个python爬虫模块,来一步步试探
最终,成功越过反爬机制。
一、urllib模块
代码如下:
-- coding:utf-8 --
import urllib.request
req = urllib.request.urlopen(‘https://www.amazon.com’)
print(req.code)
返回结果:状态码:503。
分析:亚马逊将你的请求,识别为了爬虫,拒绝提供服务。
本着科学严谨的态度,我们拿万人上的百度试一下。
返回结果:状态码 200
分析:正常访问
那说明,urllib模块的请求,被亚马逊识别为爬虫,并拒绝提供服务
二、requests模块
1、requests直接爬虫访问
效果如下 ↓ ↓ ↓
代码如下 ↓ ↓ ↓
import requests
url=‘https://www.amazon.com/KAVU-Rope-Bag-Denim-Size/product-reviews/xxxxxx’
r = requests.get(url)
print(r.status_code)
返回结果:状态码:503。
分析:亚马逊同样拒绝了requsets模块的请求
将其识别为了爬虫,拒绝提供服务。
2、我们给requests加上cookie
加上请求cookie等相关信息
效果如下 ↓ ↓ ↓
代码如下 ↓ ↓ ↓
import requests
url=‘https://www.amazon.com/KAVU-Rope-Bag-Denim-Size/product-reviews/xxxxxxx’
web_header={
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0’,
‘Accept’: ‘/’,
‘Accept-Language’: ‘zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2’,
‘Accept-Encoding’: ‘gzip, deflate, br’,
‘Connection’: ‘keep-alive’,
‘Cookie’: ‘你的cookie值’,
‘TE’: ‘Trailers’}
r = requests.get(url,headers=web_header)
print(r.status_code)
返回结果:状态码:200
分析:返回状态码是200了,正常了,有点爬虫那味了。
3、检查返回页面
我们通过requests+cookie的方法,得到的状态码为200
目前至少被亚马逊的服务器正常提供服务了
我们将爬取的页面写入文本中,通过浏览器打开。
我踏马…返回状态是正常了,但返回的是一个反爬虫的验证码页面。
还是 被亚马逊给挡住了。
三、selenium自动化模块
相关selenium模块的安装
pip install selenium
代码中引入selenium,并设置相关参数
import os
from requests.api import options
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
#selenium配置参数
options = Options()
#配置无头参数,即不打开浏览器
options.add_argument(‘–headless’)
#配置Chrome浏览器的selenium驱动
chromedriver=“C:/Users/pacer/AppData/Local/Google/Chrome/Application/chromedriver.exe”
os.environ[“webdriver.chrome.driver”] = chromedriver
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!