【无标题】网络爬虫

这段代码演示了如何使用Python的urllib和requests库进行HTTP请求,结合HTTPCookieProcessor处理cookie,以及使用正则表达式从响应内容中提取链接和标题。博客内容涉及网络爬虫的基础知识,包括设置请求头、发送POST请求、处理cookie以及使用正则表达式解析HTML。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from urllib import request
import urllib
import re
from http import cookiejar
try:
    #1.定义url
    url='http://tieba.baidu.com/f?kw=%B6%CE%D7%D3&fr=ala0&tpl=5&dyTabStr=MCw2LDIsNCw1LDMsMSw4LDcsOQ%3D%3D'
    #2定义请求头
    header={'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'}
       #2.1定义请求数据data
    #定义参数------字典类型
    values={'username':'123456','password':'12345678'}
    #参数编码
    data=urllib.parse.urlencode(values).encode(encoding='UTF8')
    #3.构建请求
    req=request.Request(url,headers=header,data=data)
    #4.构建cookie,
    #4.1定义cookie
    cookie=cookiejar.CookieJar()
    #4.2定义一个cookie处理器,把cookie传进去
    handler=request.HTTPCookieProcessor(cookie)
    #4.3定义下载器
    opener=request.build_opener(handler)
    #5.使用下载器下载请求
    resp=opener.open(req)
    #6.使用re模块解析自己想要的数据
    # 打开网页
    #resp = request.urlopen(req)
    # 打印响应,解码
    content = resp.read().decode('utf-8')
    print(content)
    #定义正则
    pattern=re.compile(r'<a rel="noopener".*?title=(.*?)\s.*?>(.*?)</a>')
    # 匹配html
    items = re.findall(pattern, content)
    # 打印解码的内容
    for i in items:
        print(i[0] + '\t' + i[1])
except request.URLError as e:
    if hasattr(e, 'code'):
        print(e.code)
    if hasattr(e, 'reason'):
        print(e.reason)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值