【无标题】hadoop

该博客展示了如何使用Python的urllib和http库登录百度贴吧并抓取指定页面的内容。代码中详细定义了请求头、数据、cookie处理器和下载器,并通过正则表达式提取了网页中的特定信息。此过程涉及网络爬虫和网页登录的实现。
摘要由CSDN通过智能技术生成

from urllib import request
from  http import cookiejar
import re
import urllib
#定义url
page=50
url="https://tieba.baidu.com/f?kw=%E6%AE%B5%E5%AD%90&ie=utf-8&pn="+str(page)
# 定义登录的账户密码
data = urllib.parse.urlencode({
    'account': "15580020934",
    'password': "10011sos"
}).encode(encoding='UTF8')
try:
    #定义请求头
    headrs={"User-Agent":" Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36"}
    #定义请求,传入请求头
    req=request.Request(url,data=data,headers=headrs)
    # 设置cookie存放的文件路径
    flieanme = 'cookie.txt'
    # 声明一个mozillacookiejar保存cookie
    cookie = cookiejar.MozillaCookieJar(flieanme)
    # 定义处理器处理cookie
    handler = request.HTTPCookieProcessor(cookie)
    # 定义下载器
    opener = request.build_opener(handler)
    # 下载网页
    resp=opener.open(req)
    # 保存cookie到文件
    cookie.save(ignore_discard=True, ignore_expires=True);
    # 创建moziilacookiejar的实例对象cookie
    cookie = cookiejar.MozillaCookieJar()
    # 从文件中加载cookie
    cookie.load("cookie.txt", ignore_discard=True, ignore_expires=True)
    # 创建处理器
    handler = request.HTTPCookieProcessor(cookie)
    # 创建下载器
    opener = request.build_opener(handler)
    # 定义请求

    #打开网页
    resp=opener.open(req)
    #打印响应码,解码
    content=resp.read().decode('utf-8')
    #定义正则表达式
    #<a rel="noopener" 具体的东西
    #.*? 匹配没用的数据
    #(.*?)匹配有用数据分组
    #\s 空格
    pattern=re.compile(r'<a rel="noopener".*?title=(.*?)\s.*?>(.*?)</a>')
    #匹配html
    items=re.findall(pattern,content)
    #打印解析的内容
    for i in items:
        print("标题:"+i[0]+" 内容:"+i[1])

except request.URLError as e:
    #打印响应码
    if hasattr(e,'code'):
        print(e.code)
    #打印异常原因
    if hasattr(e,'reason'):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值