当前位置: 首页 > news >正文

今天开始学爬虫1

1.1:import urllib错误 module 'urllib' has no attribute 'request'

应该import urllib.request

import urllib.request url='http://www.baidu.com/' response=urllib.request.urlopen(url) content=response.read().decode('utf-8') print(content)

2.1

#返回字节 content=response.read() #返回行 content=response.readline() content=response.readlines() #返回状态码 content=response.getcode() #返回url content=response.geturl() #返回状态信息 content=response.getheaders()

2.2下载链接内容

url='' urllib.request.urlretrieve(url,filename)

2.3 ua 请求对象定制

url="https://www.dianping.com/" header={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0', "Accept-Encoding": "identity"}#ua在检查-网络 中找到的 request=urllib.request.Request(url=url,headers=header)#将url和header包装成object response=urllib.request.urlopen(request) content=response.read().decode('utf-8')

2.4 urllib.parse.quote将语言统一为unicode;get请求对象

import urllib.parse url1='https://www.baidu.com/s?wd=' name=urllib.parse.quote('搜索的内容') url=url1+name #将多个内容用&连接 base_url="https://www.baidu.com/s?" data={ 'wd':'主花', 'fandom':'Persona4' } new_data=urllib.parse.urlencode(data) url=base_url+new_data

2.5 post请求对象(在 检查-网络-负载) 被拦截了百度和百度翻译

base_url="https://fanyi.baidu.com/sug" data={ 'kw':'formular' } new_data=urllib.parse.urlencode(data).encode('utf-8')#post请求需要将其编码成字节 header={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0', "Accept-Encoding": "identity"}#ua在检查-网络 中找到的 request=urllib.request.Request(url=url,data=new_data,headers=header)#将url和header以及不在url中显示的data包装成object response=urllib.request.urlopen(request) content=response.read().decode('utf-8') print(content)

3.1将数据正则化方便加进headers

import re text = "name: 张三, age: 18, city: 北京" result = re.findall(r'\s*([^:,]+)\s*:\s*([^,]+)\s*', text) data = dict(result) print(data) #不用正则 text = "name:张三,age:18,city:北京" data = {} for item in text.split(","): key, value = item.split(":") data[key] = value print(data)

3.2请求头是一行key,一行value

加上cookie就能请求成功了

但是gpt给了无需cookie的头同样成功了

headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0",
"Referer": "https://fanyi.baidu.com/",
"Origin": "https://fanyi.baidu.com",
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "*/*",
"Accept-Encoding": "identity",
}

raw_headers = """ accept */* accept-encoding gzip, deflate, br, zstd accept-language zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 connection keep-alive """ lines = [line.strip() for line in raw_headers.splitlines() if line.strip()] headers = {} for i in range(0, len(lines), 2): key = lines[i] value = lines[i + 1] headers[key] = value print(headers)
http://www.jsqmd.com/news/849190/

相关文章:

  • D1011UK,28V电压下10W输出500MHz频段实现50%漏极效率功率晶体管
  • 做数字人别踩坑!浩凯实业整理数字人麦克风推荐清单,USB摄像头及各类阵列、全向麦克风厂家深度解析 - 栗子测评
  • 激光全息防伪标签哪家好?2026二维码防伪标签公司推荐:宏鑫源防伪测评 - 栗子测评
  • JOIN、IN、EXISTS谁最快?实测三种写法性能差异与执行计划深度剖析
  • 2026年CRM系统综合实力排名
  • 5分钟搞定U盘验货!这款绿色工具真香到离谱
  • AsmDude2:如何在Visual Studio 2022中实现汇编开发效率提升300%
  • 一切命运皆可破,我命由我不由天
  • 2026再生橡胶厂家推荐:新疆橡胶管厂家+路锥厂家推荐清单 - 栗子测评
  • 糜子CRISPR转化 伯远生物
  • 2026年优选金属圆锯机厂家推荐:润泰机械领衔,实力强的金属圆锯机厂家/高速圆锯机厂家汇总 - 栗子测评
  • 影像技术实战15:图片偏黄、偏蓝、发灰?OpenCV 白平衡、CLAHE 与色彩校正工程方案
  • PotplayerPanVideo终极指南:告别网盘播放限制,享受本地播放器流畅体验
  • Day33-1: Serilog(日志中间件)VS OperLogHelper(操作日志帮助类)
  • MiniMax Agent 正式更名 Mavis 上线多智能体协作
  • BagelVLA:通过交错式视觉-语言-动作生成,增强机器人长时程操纵能力
  • 2026年4月行业内靠谱的铜大缸设计厂商推荐,铜大缸/铸铁铸铝雕塑/铜狮子铜大象/铜钟/铜香炉,铜大缸加工厂口碑推荐 - 品牌推荐师
  • 批量操作进阶:百万行级数据导入的性能极限
  • 采购必看:管路蒸汽成型设备厂家哪家好?2026管路成型隧道炉厂家推荐:领拓工业领衔|优质管路蒸汽成型设备厂家盘点 - 栗子测评
  • 影像技术实战16:视频抽帧重复太多?dHash + 时间窗口构建关键画面去重方案
  • Python爬虫实战㉒|Matplotlib基础,画出专业级数据图表
  • 2026年口碑好的贵阳暴龙眼镜公司对比推荐 - 品牌宣传支持者
  • 影像技术实战17:图片格式转换踩坑复盘:PNG、JPEG、WebP、透明通道与颜色模式的工程处理方案
  • 【199管理类联考】数学75考点(基础)
  • 别再手动拖拽了!用Java POI + XSSFDrawing,5行代码搞定Excel单元格图片批量插入(附完整源码)
  • 一文读懂天镜灯、台灯、LED 照明、恒流灯带、UVC 紫外杀毒灯驱动芯片,专业厂家优选谦诚半导体 - 栗子测评
  • QT的C++接口基础用法
  • 告别格式大战!用VSCode的Prettier插件拯救你的代码洁癖(含保存即格式化、快捷键技巧)
  • 完全开源的语言模型学习记录--Dispersion Loss 降低小模型坍缩
  • 三维动画心得:从入门到认知