樊鴻燁 2021-06-23 17:58 采纳率: 100%
浏览 37
已采纳

python爬虫代码出现报错

代码如下:

import urllib.request
url='https://tj.lianjia.com/ditiezufang/li110458004/'
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36'}
request = urllib.request.Request(url,headers=headers)
response = urllib.request.urlopen(request)
if response.status==200:   #判断是否正常响应
    html=response.read().decode('utf-8')
## 编写正则表达式
import re
reg='data-src="(.*o_auto)|(.*\.jpg)"\n'#源代码格式图片
imgre=re.compile(reg)
imglist = imgre.findall(html)
## 保存到本地数据库 
import os
os.chdir('C:\\Users\\90541\\Desktop\\数据分析\\pycode\\picture')# 工作路径指向这个目录
x=1
for img in imglist:
    img=img.replace('250x182','780x439')    这一步报错了
    urllib.request.urlretrieve(img,'%s.jpg' % x)#直接将远程数据下载到本地
    x+=1

  • 写回答

3条回答 默认 最新

  • 关注

    reg='data-src="(.*o_auto)|(.*\.jpg)"\n'#源代码格式图片

    你正则中有两个(),每次会获取两个子匹配结果,imglist的每个元素都是包含两个子匹配结果的元组。

    应该改成

    reg='data-src="(.*o_auto|.*\.jpg)"\n'#源代码格式图片

    或者

    reg='data-src="((?:.*o_auto)|(?:.*\.jpg))"\n'#源代码格式图片

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 vue2中使用计算属性
  • ¥50 远程桌面打开Mastercam、没有许可证、物理机打开正常
  • ¥15 ubuntu安装gdal后java读取tif文件报错
  • ¥15 请问lammps怎么做两种金属连接的原子浓度分布图
  • ¥15 求jacquard数据集
  • ¥15 w10部分软件不能联网
  • ¥15 关于安装hbase的问题(操作系统-windows)
  • ¥15 novnc连接pve虚拟机报错安全协议不支持262
  • ¥15 设备精度0.03给多少公差能达到CPK1.33
  • ¥15 qt+ffmpeg报错non-existing PPS 0 referenced