专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
51好读  ›  专栏  ›  马哥Linux运维

入门爬虫,这一篇就够了!!!

马哥Linux运维  · 公众号  · 运维  · 2019-08-10 21:00

正文

请到「今天看啥」查看全文


1

表单提交登录 向服务器发送一个post请求并携带相关参数,将服务器返回的cookie保存在本地,cookie是服务器在客户端上的“监视器”,记录了登录信息等。客户端通过识别请求携带的cookie,确定是否登录


params = {'username''root''passwd''root'}
response = requests.post("http:xxx.com/login", data=params)
for key,value in response.cookies.items():
    print('key = ', key + ' ||| value :'+ value)


2

cookie登录 我们可以将登录的cookie存储在文件中。

import urllib.request
import http.cookiejar
"""
保存登录的cookie
"""

"""
MozillaCookieJar :cookiejar的子类
从FileCookieJar派生而来,创建与Mozilla浏览器 cookies.txt兼容的FileCookieJar实例。
"""

cookie = http.cookiejar.MozillaCookieJar('cookie.txt')
# 构建一个cookie的处理器
handler = urllib.request.HTTPCookieProcessor(cookie)
# 获取一个opener对象
opener = urllib.request.build_opener(handler)
# # 访问携程。、获取一个请求对象
request = urllib.request.Request('http://flights.ctrip.com/',headers={"Connection""keep-alive"})
# 请求服务器,获取响应对象。cookie会在response里一起响应
response = opener.open(request)
# 保存cookie到文件
cookie.save(ignore_discard=True, ignore_expires=True)


"""
请求携带文件中的cookie
"""


import urllib.request
import http.cookiejar
cookie = http.cookiejar.MozillaCookieJar()
cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)
handler = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(handler)
request = urllib.request.Request('http://flights.ctrip.com/')
html = opener.open(request).read().decode('gbk')

print(html)



遇到反爬虫怎么办?


1






请到「今天看啥」查看全文