[python爬虫之路day1] 爬虫初入门之源码爬取

最近在入门爬虫,索性将每次所学记录于此,及时复习并分享小白的学习之路。(本人所写博客仅供本人及时复习以及方便同行者查阅,在此特别鸣谢B站up主“神奇的老黄”所提供的学习视频,本文末尾附上视频链接)
from urllib import request
from urllib import parse
urllib是爬虫中所用较常用的一个库,可以调用其中的request,parse函数进行爬虫初入门。
#1.爬取网页源代码
resp=request.urlopen(“http://www.baidu.com”) #爬取网页源代码
print(resp.read())
#2.下载到文件
2.request.urlretrieve(“http://www.baidu.com/”,r"C:\folders\技术之路\baidu.html") #下载到文件
# 3.汉字转二进制
3.mydic={“sex”:“男”,“school”:“深圳大学”,“nianji”:“大 二”}
result=parse.urlencode(mydic)
print(result)# 汉字转二进制
3的例子
url=“https://www.baidu.com/s”* #原网站是https://www.baidu.com/s?wd=李佳航,由于爬取时无法识别,故需转二进制*
params={“wd”:“李佳航”}
qs = parse.urlencode(params)
print(qs)
url=url+"?"+qs
resp=request.urlopen(url)
print(resp.read())
4.二进制解码汉字
#4.解码
mydic={“sex”:“男”,“school”:“深圳大学”,“nianji”:“大 二”}
result=parse.urlencode(mydic)
print(result) #编码
qs=parse.parse_qs(result) #解码
print(qs)

#5.网站分解
parse.urlpares parse.urlsplit (没有params)
url=“http://baidu.com/s?wd=python&username=abc#1”
result=parse.urlparse(url)
print(result)
print(“scheme:”,result.scheme)
print(“netloc:”,result.netloc)
print(“path:”,result.path)
print(“params:”,result.params)
print(“query:”,result.query)
print(“fragment:”,result.fragment)
result=parse.urlsplit(url)
print(result)
#6.拉钩爬取 定制请求头反爬虫技术 (只能爬取拉钩的表面网页)

req=request.Request(url,headers=headers)
url="https://www.lagou.com/jobs/list_python%E7%88%AC%E8%99%AB/p-city_215?&cl=false&fromSearch=true&labelWords=&suginput="
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36"}
req=request.Request(url,headers=headers)
resp=request.urlopen(req)
print(resp.read())'''

#7.拉钩深度爬取

url="https://www.lagou.com/jobs/positionAjax.json?city=%E6%B7%B1%E5%9C%B3&needAddtionalResult=false"
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36",
         "Referer": "https: // www.lagou.com / jobs / list_python % E7 % 88 % AC % E8 % 99 % AB / p - city_215? & cl = false & fromSearch = true & labelWords = & suginput =",
"Host": "www.lagou.com",
"Origin": "https: // www.lagou.com",
"Pragma": "no - cache",
}
data={
    "first": "true",
    "pn":"1",
    "kd": "python爬虫",
}
req=request.Request(url,headers=headers,data=parse.urlencode(data).encode("utf-8"),method="POST")
resp=request.urlopen(req)
print(resp.read().decode("utf-8"))

#由于拉钩反爬虫机制的持续更新,爬取拉勾网方法有变,容易失败,而对于一般网页的爬取则比较简单。
总结day1:
爬虫初入门学习了初步的爬取网页,后续爬取更加精准的目标还需持续学习,且会不断分享于我的博客。

欢迎小伙伴在阅读本系列博客时并搭配视频学习,大家共同进步。https://www.bilibili.com/video/av44518113?p=23

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值