爬虫学习笔记(一):爬虫介绍

爬虫学习(一)
爬虫介绍:

  1. 什么是爬虫
    网络爬虫也叫网络蜘蛛,如果把互联网比喻成一个蜘蛛网,那么爬虫就是在网上爬来爬去的蜘蛛,爬虫程序通过请求url地址,根据响应的内容进行解析采集数据。
  2. 作用
    通过有效的爬虫手段批量采集数据,可以降低人工成本,提高有效数据量,给予运营/销售的数据支撑,加快产品发展。
  3. 就业情况
    目前互联网产品竞争激烈,业界大部分都会使用爬虫技术对竞品产品的数据进行挖掘、采集、大数据分析,这是必备手段,并且很多公司都设立了爬虫工程师的岗位。那么爬虫工程师是干什么的呢?(可以点来看看)
  4. 合法性
    爬虫是利用程序进行批量爬取网页上的公开信息,也就是前端显示出的数据信息。因为信息是完全公开的,所以是合法的。
  5. 反爬虫
    爬虫其实很难完全被制止,道高一尺魔高一丈,这是一场没有硝烟的战争,就像码农VS码农,
    反爬虫一些手段:
    • 判断request的header信息:UA判断是不是浏览器访问,referer判断是不是从本身的页面访问的,比如:从百度访问一个信息,返回看是不是该网页返回的信息,如果是就允许访问,不是就可以不让你访问。
    • 封ip:访问的次数过多了, 对方服务器看到的全是你的ip,就直接禁掉。
    • 返回错误信息:当你多次访问同一个页面时,返回给你一个页面,是错误的信息
    • 验证码:在访问别人网站时,让你输入验证码。
  6. 选择python的原因
    python有足够多的开源库,很多东西不用写直接调用某某函数就可以了。
  7. 选择Python版本
    有2和3两个版本, 3相对于来说是比较好的,但是往往在选择3.x的时候又到了困难的时候,所以我直接建议大家使用3.7,想必大家都是知道为什么不用最新的的原因。
  8. 爬虫基本套路
    这是没有任何反爬的
from urllib.request import urlopen#导入
url=""#url
response=urlopen(url)# 发送请求
info=response.read()# 读取内容
print(info.decode())# 打印内容

没有ua访问不了的:

url=""
heads=("user-agent"," Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36")
opener=urllib.request.build_opener()
opener.addheaders=[heads]
urllib.request.install_opener(opener)
data=urllib.request.urlopen(url).read().decode("utf-8","ignore")

或者:

from urllib.request import urlopen,Request
url=""
user_agents="Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0"

headers={
    "User-Agent": user_agents
}
request=Request(url, headers=headers)
response=urlopen(request)
info=response.read().decode()

cookie:

from urllib.request import Request, urlopen
from fake_useragent import UserAgent
url="http://www.sxt.cn/index/user.html"
headers={
    "User-Agent": UserAgent().chrome,
    "Cookie": ""#去浏览器中找到对应的cookie信息
}
request=Request(url, headers=headers)
response=urlopen(request)
print(response.read().decode())

或者登陆的方式:

from urllib.request import Request, urlopen
from fake_useragent import UserAgent
from urllib.parse import urlencode
from urllib.request import HTTPCookieProcessor,build_opener
loginurl=""#得到登陆的url
headers={
    "User-Agent": UserAgent().chrome,
}
form_data={
#查看cookie返回的信息所对应的
}
f_data=urlencode(form_data).encode()
request=Request(loginurl, headers=headers, data=f_data)
handler=HTTPCookieProcessor()#这样子不会报错,URLopen会报错
opener=build_opener(handler)
response=opener.open(request)
info_url=""#登陆进入后的url
request = Request(info_url, headers=headers)
response=opener.open(request)
print(response.read().decode())

大致第一天就是这些吧。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值